【问题标题】:Javascript check json output is emptyJavascript检查json输出为空
【发布时间】:2012-10-17 10:45:56
【问题描述】:

如果我在 json 中有这样的数据:

{"items":[{"id":"2049","channel_code":"HBD","channel_name":"HBO HD"}]}

如果你搜索我的数据到服务器找不到这样的结果:

{"items":[]}

如上输出,我如何读取我的数据不存在或为空?

我写了一些我得到的代码,但没有找到我想要的结果。

这段代码:

var data = { Name: "John Doe", Age: 25, Address: null, CityState: "Denver, CO" };
for (member in data) {
if (data[member] != null)
    //Do something
}

if (myObject == '') {
   alert('this object is empty');
}

也许有人可以帮我找到摆脱这个例子的方法。 请帮忙

【问题讨论】:

    标签: javascript jquery jsonp json


    【解决方案1】:

    要检查您的数组是否为空,只需使用相应的length property

    if ( data['items'].length < 1 ) {
       // it's empty
    }
    

    【讨论】:

      【解决方案2】:

      你想检查data.items.length &gt; 0。假设

      var data = {"items":[]};
      

      【讨论】:

      • @ÁlvaroG.Vicario 不完全确定您的意思;当然还有 JSON,这就是创建数组的原因。
      • @AnthonyGrist 还涉及一个文本编辑器(正在创建创建 JSON 字符串的代码),但它也与问题无关。许多人将任何类型的标准 JavaScript 问题标记为 json,只是因为在某些时候存在 JSON。
      • 如果我的代码是这样的:for (var i = 0; i
      • @BerthoJoris:我不知道responsewaktu_mulai 是什么。如果您的代码是var data = {items:[]},您可以查看if(data.items.length &gt; 0) { /* data.items is not empty */ }
      【解决方案3】:
      for (member in data) {
      if (data[member] != null)
          //Do something
      }
      

      for 内的代码不会运行,因为 length 的数据为 0

      if (myObject == '') {
         alert('this object is empty');
      }
      

      myObject 不会为空,因为该对象实际上存在并且它是一个空数组

      你应该检查myObject.length,因为它是一个空数组

      【讨论】:

      • 如果我的代码像这样用于提取: for (var i = 0; i
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 1970-01-01
      • 2022-12-04
      • 2013-09-06
      • 2018-05-26
      相关资源
      最近更新 更多