我想检查一个对象在城市内部是否有任何数据,因此基本上对于该数据它会显示为真:

JSON格式

{"cities":[{"id":0,"client_id":"1","storename":"test","notes":"test","rejected":"on","offer":"test","time":1394457477525}]}


并为此错误:

{"cities":[]}


目前,我的代码不正确,因为它不检查是否在城市内部(无论是否为空),有什么办法可以使我的代码适应工作?

的JavaScript

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

最佳答案

假设JsonData是有效的JSON

if (JsonData.cities.length > 0) {
   alert("there is data");
}
else {
   alert("there is no data");
}


如果JsonData是字符串,则需要使用JSON.parse(JsonData)而不是先将其解析为JSON结构:请参见MDN以获取更多参考



注意:
如果不确定始终提供JsonDataJsonData.cities,则可以通过这种方式为属性查找创建围栏(如ajaxian上所建议)

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

关于javascript - 检查JSON对象是否为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22301419/

10-10 07:56