【问题标题】:javascript calculate quantity of elements inside a json tag [closed]javascript计算json标签内元素的数量[关闭]
【发布时间】:2014-08-03 22:15:24
【问题描述】:

您好,我在 javascript 中有一个这样的 json:

{"data":[{"stuff":[
    {"onetype1":[
        {"id":1,"name":"John Doe"},
        {"id":2,"name":"Don Joeh"}
    ]},
    {"othertype2":[
        {"id":2,"company":"ACME"}
    ]}]
},{"otherstuff3":[
    {"thing":
        [[1,42],[2,2]]
    }]
}]}

我想知道如何在 javascript 中计算有多少个“onetype”标签。在 php 中我可以使用 count 请求它,但在 javascript 中我尝试使用 data.lenght 并且它不起作用。知道怎么做吗?

非常感谢

【问题讨论】:

  • 如果您可以使用JQuery,请查看Json Object Array Length 帖子的答案。
  • 请在下面查看我的答案,如果您觉得有用,请告诉我。
  • 我认为将这个问题指定为题外话是对指南的过于严格的解释......据我所知,它未能满足的唯一条件是它不是“最短必要的代码”来重现问题。但这并不是很多代码,而且我们经常要求新用户发布更多代码以提供上下文,所以这似乎是一个奇怪的问题。

标签: javascript


【解决方案1】:

我认为您正在寻找Object.keys(data).length。这里有一个适用于旧版浏览器的 shim:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys#Polyfill

顺便说一句,没有“json 标签”之类的东西——“标签”这个词你使用它的方式只适用于 HTML/XML。

【讨论】:

    【解决方案2】:

    这是你的嵌套对象

    var data = [{"stuff":[
        {"onetype1":[
            {"id":1,"name":"John Doe"},
            {"id":2,"name":"Don Joeh"}
        ]},
        {"othertype2":[
            {"id":2,"company":"ACME"}
        ]}]
    },{"otherstuff3":[
        {"thing":
            [[1,42],[2,2]]
        }]
    }]
    

    这是您访问长度和元素的方式

    data.length                          // 2
    data[0].stuff.length                 // 2
    data[0].stuff[0].onetype1.length     // 2
    data[0].stuff[0].onetype1[0]         // Object {id: 1, name: "John Doe"}
    data[1].otherstuff3.length           // 1
    data[1].otherstuff3[0].thing.length  // 2
    data[1].otherstuff3[0].thing[0]      // [1, 42]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多