JSON数组是否为空

时间:2015-06-29 12:30:39

标签: javascript jquery arrays json

我有一个数组,var st = { "itema":{...},"itemb":[{"id":"s01","cd":"c01","dd":"d01",....}{"id":"s02","cd":"c02","dd":"d02",....}]} 如何检查st是否为空?

1 个答案:

答案 0 :(得分:1)

您可以使用Object.getOwnPropertyNames()查看是否有任何对象属性:

if (Object.getOwnPropertyNames(st).length === 0) {
  // no properties
}

现在,如果属性,则由您自行决定具有值为undefinednull的属性的对象是否为“空”。 / p>

另一种可能更接近反映“空”概念的方法是将对象字符串化为JSON:

var __EMPTY = JSON.stringify({});
// ...
if (JSON.stringify(st) === __EMPTY) {
  // ...
}

如果您的对象在常见情况下可能相对较大,那么当然不是最有效的事情。

“空对象”的概念在JavaScript中确实不是很自然,至少在我的经验中是这样。