JSON对象期望一个对象数组但什么都没有

时间:2014-09-11 20:41:37

标签: javascript json

所以我有一个像这样的JSON对象:

"data": [{
      "job_id" : "22893",
      ...,
      "queries" : [{
        "rule" : "R7",
        "start" : "sept 10 2014 00:00",
        "end" : "apr 10 2014 01:32"
      },
      {
        "rule" : "R7",
        "start" : "sept 10 2014 00:00",
        "end" : "apr 10 2014 01:32"
      },
      {
        "rule" : "R7",
        "start" : "sept 10 2014 00:00",
        "end" : "apr 10 2014 01:32"
      }]
    },
    {
      "job_id" : "22893",
      ...

查询对象可能没有任何内容。如果是这样,那么“查询”的价值是什么?如果是这样的话?

1 个答案:

答案 0 :(得分:0)

通常没有值表示生成的JSON中的 no property ,因为作为数据交换序列化格式,JSON会尽量减小。

在JavaScript中,一旦用JSON.parse(...)解析JSON,你就会这样做:

// Change zero by some variable
if(entity.data[0].hasOwnProperty("queries")) {
   // Do specific stuff is there're queries
}

大多数JSON样式的服务都基于约定优于配置范例。也就是说,如果查询它们必须是一个对象数组,如果没有查询,该属性将不会作为中对象的一部分存在数据属性。如果查询数组不同,并且它不是文档化的案例,则可能是错误或服务设计不良的症状。

TLD; DR

如果没有疑问,则根本不应添加该属性。