【问题标题】:Can't check an empty JSON key: value pair无法检查空 JSON 键:值对
【发布时间】:2017-06-10 22:19:45
【问题描述】:

我已经尝试过在网站上发布的几个答案,例如:

How to check if JSON return is empty with jquery

没有人为我工作。

 xhr.onload = function(){
              detalles = xhr.responseText;
              console.log("log : "+detalles);
   ....
   }

控制台输出:

log : [0]

Firefox 调试器网络选项卡显示 JSON 0:0

我们将不胜感激。

编辑 - 添加更多代码来扩展上下文

xhr.onload = function(){
                  detalles = xhr.responseText;
                  console.log(detalles);

                    if((!$.trim(detalles))||($.isEmptyObject(detalles))||(!detalles[0])){
                        console.log("ok");
                        $("#graficohist").html("No info available");
                        triggerLoader();
                    }

【问题讨论】:

  • @Salman 这里是控制台输出:[0]
  • @Salman xhr 是我使用的方法,而不是 jquery AJAX (XML HTTP REQUEST)。

标签: javascript json


【解决方案1】:

你可以简单地做一个函数来测试对象是否为空

var myObj = {"key" : "value"};
checkEmptyJson = function(myObj){
var count = 0;
for(var key in myObj){
count++;
break;
}
 if(count == 0){
  return false; // object is empty
 }else{
  return true; // object is not empty
 }
}
var result = checkEmptyJson(myObj);
console.log(result);

在您的上下文中,我们可以将其用作

hasDetallesData =  checkEmptyJson(detalles); // true if Detalles has data

【讨论】:

  • 这是一个很好的解决方案,但我相信只要 JSON 响应为空且我找不到它,就应该有一个单行或更简单的方法来检索布尔值。不过,我会尝试测试您的解决方案。感谢您的回复。
【解决方案2】:

我建议试试this

var obj = JSON.parse(text);

将您的 json 转换为 javascript 对象,然后您可以使用

进行打印
console.log(obj)

看看你在obj里面有什么

【讨论】:

  • 将尝试并让您知道。再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
  • 2022-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多