Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查JSON对象是否为空_Javascript_Jquery_Json - Fatal编程技术网

Javascript 检查JSON对象是否为空

Javascript 检查JSON对象是否为空,javascript,jquery,json,Javascript,Jquery,Json,我想检查一个对象在城市内部是否有任何数据,因此基本上,对于以下数据,它将显示true: {"cities":[]} JSON {"cities":[{"id":0,"client_id":"1","storename":"test","notes":"test","rejected":"on","offer":"test","time":1394457477525}]} 这是错误的: {"cities":[]} 目前我的代码是不正确的,因为它没有检查城市内部,只是如果它是空的或不是,

我想检查一个对象在城市内部是否有任何数据,因此基本上,对于以下数据,它将显示true:

{"cities":[]} 
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结构:请参阅以获取更多参考


注: 如果您不确定是否总是有可用的
JsonData
JsonData.cities
,您可以通过这种方式为属性查找创建围栏(如上所建议的)

if (((JsonData || 0).cities || 0).length > 0) {
   alert("there is data");  
}
else {
   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结构:请参阅以获取更多参考


注: 如果您不确定是否总是有可用的
JsonData
JsonData.cities
,您可以通过这种方式为属性查找创建围栏(如上所建议的)

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

检查城市。长度是一个数组

检查城市。长度是一个数组

这是一个数组,所以只需检查长度这是一个数组,所以只需检查长度如果您将json存储在一个
JsonData
变量中,那么
JsonData。cities
是数组您的json末尾有一个
start?center=1:103
。这使得整个json无效(粘贴并复制您的结构),然后我认为您需要提供一个复制错误的提琴。我无法想象{“cities”:[{“id”:0,“client_id”:“1”,“storename”:“test”,“notes”:“test”,“rejected”:“on”,“offer”:“test”,“time”,“time”:139445860054},{“id”:1,“client_id”:“1”,“storename”:“notes”:“rejected”:“on”,“offer”:“time”:139445860774}这是在我做console.log(JsonData)时记录的;它说没有数据。你能试着
console.log(typeof JsonData)
吗?如果你把你的json存储在
JsonData
变量中,那么
JsonData.cities
就是数组你的json末尾有一个
start?center=1:103
。这使得整个json无效(粘贴并复制您的结构),然后我认为您需要提供一个复制错误的提琴。我无法想象{“cities”:[{“id”:0,“client_id”:“1”,“storename”:“test”,“notes”:“test”,“rejected”:“on”,“offer”:“test”,“time”,“time”:139445860054},{“id”:1,“client_id”:“1”,“storename”:“notes”:“rejected”:“on”,“offer”:“time”:139445860774}这是在我做console.log(JsonData)时记录的;它说没有数据。你能试试
console.log(typeof JsonData)
吗?