You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术咨询:如何正确编写含指定数组结构的JSON格式?

正确编写目标JSON结构的方法

嘿,我来帮你搞定这个JSON格式的问题~

你给出的概念性结构里存在一个不符合JSON规范的问题:数组[]内部直接写"key": "key1"这类键值对是不允许的——JSON数组的元素必须是单个合法值(可以是字符串、数字、布尔值、null、对象或者其他数组),不能直接放置键值对。

根据你想要的结构,我整理了两种符合规范的写法,你可以根据实际需求选择:

情况1:每个属性对应包含键值对对象的数组

如果attrs下的"0"、"1"这些属性本身就是数组,且数组里要存放键值对结构,那需要把键值对包裹成对象再放进数组:

{
  "attrs": {
    "0": [
      {
        "key": "key1",
        "value": "value1"
      }
    ],
    "1": [],
    "n": []
  }
}

这里的核心是用{}把key和value包装成一个对象,让它成为数组的合法元素。

情况2:每个属性直接对应键值对对象

如果你其实不需要数组(可能是误加了[]),只是想让attrs下的每个属性对应一组key-value,可以去掉数组括号,直接写成对象:

{
  "attrs": {
    "0": {
      "key": "key1",
      "value": "value1"
    },
    "1": {},
    "n": {}
  }
}

额外的JSON规范小提示

为了避免以后再踩类似的坑,记住几个核心规则:

  • 对象必须用{}包裹,内部是"键": 值的键值对,多组键值对用逗号分隔
  • 数组必须用[]包裹,内部是任意合法的JSON值,多个值用逗号分隔
  • 所有的键和字符串值都必须用双引号包裹(单引号不合法)
  • 最后一个键值对或数组元素后面不能加多余的逗号

内容的提问来源于stack exchange,提问作者Luca Calabrese

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:26:20