我正在设计我的数据的JSON文档。以下是单个值(v),目前包含site-id
,price-score
和confidence-score
。
{
"v" : {
"site-id" : 0,
"price-score" : 0.5,
"confidence-score" : 0.2
}
}
现在,我想在上面的JSON文档中添加类别列表。由于我将为单个值(v)设置多个类别,因此我提出了以下JSON文档 -
{
"v" : {
"site-id" : 0,
"price-score" : 0.5,
"confidence-score" : 0.2,
"categories": [
{
"category-id": "123",
"price-score": "0.5",
"confidence-score": "0.2"
},
{
"category-id": "321",
"price-score": "0.2",
"confidence-score": "0.4"
}
]
}
}
任何人都可以看看,如果我在上面的JSON文档中添加类别列表的方式看起来不错,请告诉我吗?或者有更好的方法做同样的事情吗?因为我不想在处理序列化和反序列化上述JSON文档时遇到问题。
答案 0 :(得分:1)
我建议:
{
"v" : {
"site-id" : 0,
"price-score" : 0.5,
"confidence-score" : 0.2,
"categories": {
"123" : {
"price-score": "0.5",
"confidence-score": "0.2"
},
"321" : {
"price-score": "0.2",
"confidence-score": "0.4"
}
}
}
}
这样,您可以轻松使用:
json.v.categories[id]
获取有关特定类别的信息,而不必写:
var the_category;
for (var i = 0; i < json.v.categories.length; i++) {
if (json.v.categories[i]['category-id'] == id) {
the_category = json.v.categories[i];
break;
}
}
另一个建议:在密钥中使用_
而不是-
(如果您愿意,可以使用camelCase),因为连字符会阻止您使用.
表示法访问元素(请注意我有写上['category-id']
而不是.category-id
。