【问题标题】:How can i find the length of this Json object我怎样才能找到这个 Json 对象的长度
【发布时间】:2013-01-11 05:44:20
【问题描述】:

我想找到这个 JSON 对象的长度,所以有人告诉我如何获取 JSON 对象的长度...意味着我想知道这个 json 对象包含多少数据。

var ddData = [{ "01":"United States",
                "02":"United Kingdom",
                "03":"Aruba",
                "04":"United Kingdom",
                "05":"Aruba",
                "06":"Bahrain",
                "07":"United Kingdom",
                "08":"Algeria",
                "09":"Andorra",
                "10":"American Samoa",
                "11":"United States"
             }]

【问题讨论】:

    标签: javascript jquery json


    【解决方案1】:

    您可以使用Object.keys 方法来获取对象键。
    由于 ddData 是一个array,并且第一个索引包含一个对象,您可以这样做:

    Object.keys(ddData[0]).length;
    

    但是,Object.keys 不适用于 old browsers

    为此,您可以遍历对象并增加一个变量以获得该对象的长度。

    var count = 0;
    for(var i in ddData[0]) {
        count++;
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用Object.keys,它将返回指定集合的​​长度。JS Fiddle

      (来自here的浏览器支持) (关于 Object.keys here 的文档,包括可以添加到非 ECMA5 浏览器的方法)

      【讨论】:

        【解决方案3】:

        你可以简单地这样做而不是调用函数

        var key, count = 0;
        for(key in ddData[0]) {
          count++;
        }
        
        console.log(count + " is size of the json");
        

        【讨论】:

          【解决方案4】:
          var length=0;
          for(attr in ddData[0]){
               length++;
          }
          

          【讨论】:

            【解决方案5】:
            var json = JSON.parse(ddData);
            for(i=0;i<json.length;i++)
            {
            alert(json[i].length);
            }
            

            【讨论】:

              【解决方案6】:

              现在我得到了答案......

              var Data = { "01":"United States",
                          "02":"United Kingdom",
                          "03":"Aruba",
                          "04":"United Kingdom",
                          "05":"Aruba",
                          "06":"Bahrain",
                          "07":"United Kingdom",
                          "08":"Algeria",
                          "09":"Andorra",
                          "10":"American Samoa",
                          "11":"United States"
                       }
              
              var count = 0;
              for(x in Data){
                  count++;
              }
              console.log('cnt',count)
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-06-02
                • 1970-01-01
                • 1970-01-01
                • 2018-02-08
                • 1970-01-01
                相关资源
                最近更新 更多