如何在json模式中定义键值对对象("正确"方式)?
我想定义一下:
"id" : 99,
_info : {
"name" : "somename",
"href" : "someUrl"
}
以下两项中的任何一项是否准确?:
1)
{
"type": "object",
"name": "MyObj",
"properties": {
"id": {
"type": "integer"
},
"_info": {
"type": "array",
"items": {
"type": "object"
"properties": {
"key": {
"type": "string",
"description": "key"
},
"value": {
"type": "string",
"description": "the value"
}
}
}
}
}
}
2)
{
"type": "object",
"name": "MyObj",
"properties": {
"id": {
"type": "integer",
"_info": {
"type": "object",
"additionalProperties": {
"type": "string",
"description": "string values"
}
}
}
}
实现这一目标的正确方法是什么,人们会知道模式是什么,并且在序列化/反序列化时对象会是什么样子?
答案 0 :(得分:4)
在JSON中,对象已经是键值对的集合。您不需要任何特殊的东西来定义它:
{
"_info":{"type":"object"}
}
从这里你可以添加约束。