JSON模式帮助,对象数组

时间:2020-04-08 00:00:22

标签: json

我正在尝试编写一个JSON对象,其中键“ pStock”是自行车尺寸“ size”的总库存。每个尺寸都有一个库存或“数量”。我有两个版本的相同代码。即使语法看起来对我来说,第一个也返回错误消息。

  "pStock": [
 {
    "size": {
           "type": "string",
           "count": {
                 "type": "number"
                }
            }
        }
    }
]

这是第二个版本,不返回任何错误,但是我不太确定它在说我想要说的话。

     "pStock":  {
            "type": ["object"],
            "size": {
                "type": "string",
                "count": {
                    "type": "number"
                }
            }
        }

编辑1

我感谢所有这些回复。我在发布时犯了一个愚蠢的错误。下面是不起作用的正确“错误”代码。我得到了错误。 '错误,架构无效:data / properties / pStock应该是object,boolean 在Ajv.validateSchema的措辞上。下面的代码仍然无法正常工作,并收到错误消息“错误,架构无效:data / properties / pStock应该是对象,布尔型 在Ajv.validateSchema'

    "pStock": [
            {
               "size": {
                      "type": "string",
                      "count": {
                            "type": "number"
                           }
                       }
                    } 

           ]

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

计算第一个JSON上的大括号和大括号。它有3开4关。

"pStock": [
 { // Open 1
    "size": { // Open 2
           "type": "string",
           "count": { // Open 3
                 "type": "number"
                } // Close 3
            } // Close 2
        } // Close 1
    } // Close what?
]

只需删除最后一个就可以了。

答案 1 :(得分:0)

您缺少]数组上的方括号pStock,因为您有一个额外的括号},即

  "pStock": [
 {
    "size": {
           "type": "string",
           "count": {
                 "type": "number"
                }
            }
        }
    } <--- this is wrong
]

应该是

{
   "pStock":[
      {
         "size":{
            "type":"string",
            "count":{
               "type":"number"
            }
         }
      }
   ]
}

答案 2 :(得分:0)

第一个版本应如下所示:

"pStock": [
 {
    "size": {
           "type": "string",
           "count": {
                 "type": "number"
            }
        }
    }
]

您有太多}(第7行)

第二个版本不代表您想要的内容,它不包含尺寸数组。 但是您可以创建此文件(pStock具有多个大小不同的键。然后在每个大小中编写库存/计数):

"pStock": {
  "size1": {
    inventory: "5",
    count: 4
  },
  "size2": {
    inventory: "5",
    count: 4
  }
}