检查 JSON 对象是否为空

Bre*_*ent 1 javascript jquery json

我想检查城市内的对象是否有任何数据,所以基本上它会显示以下数据:

JSON

{"cities":[{"id":0,"client_id":"1","storename":"test","notes":"test","rejected":"on","offer":"test","time":1394457477525}]} 
Run Code Online (Sandbox Code Playgroud)

对此错误:

{"cities":[]} 
Run Code Online (Sandbox Code Playgroud)

目前我的代码不正确,因为它不检查城市内部是否为空,有什么方法可以调整我的代码使其工作吗?

JavaScript

 if (jQuery.isEmptyObject(JsonData) == false) {
      $('#upload').show();
      alert("There is data");
 } else {
      $('#upload').hide();  
      alert("There is no data");
 }
Run Code Online (Sandbox Code Playgroud)

fca*_*ran 5

假设JsonData是一个有效的 JSON

if (JsonData.cities.length > 0) {
   alert("there is data");  
}
else {
   alert("there is no data"); 
}
Run Code Online (Sandbox Code Playgroud)

ifJsonData是一个字符串,您需要先将其解析为 JSON 结构,使用JSON.parse(JsonData):请参阅MDN以获取更多参考


注意:如果您不确定始终拥有JsonData或可用,您可以通过这种方式JsonData.cities创建用于属性查找的栅栏(如ajaxian上的建议)

if (((JsonData || 0).cities || 0).length > 0) {
   alert("there is data");  
}
else {
   alert("there is no data"); 
}
Run Code Online (Sandbox Code Playgroud)