1

我正在设计我的数据的 JSON 文档。下面是一个包含site-id,price-scoreconfidence-score现在的单个值 (v)。

{
  "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 文档时遇到问题。

4

1 回答 1

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.

于 2013-09-14T21:04:16.270 回答