【问题标题】:jQuery - JSON basics: each( objJSON ) not working. Any solution?jQuery - JSON 基础知识:每个(objJSON)都不起作用。有什么解决办法吗?
【发布时间】:2015-10-18 18:28:44
【问题描述】:

我怎样才能做到这一点?

objJSON = jQuery.parseJSON(newjson.json);
var j = 0;
var n = objJSON.numberoflevels;

//NOW, THE IMPORTANT PART:
while (j < n) {
    $.each(objJSON.level[j], function (index, item){
        // instructions
    });
    j++;
}

我有一个这样写的 JSON 文档:

{
    "numberoflevels": "3",
    "level0": [{
        "name": "1-ONE"
    }],
    "level1": [{
        "name": "1-TWO",
        "parent": "1-ONE"
    }],
    "level2": [{
        "name": "Croc Crocroc",
        "parent": "1-TWO"
    }, {
        "name": "Alan Algomas",
        "parent": "1-TWO"
    }]
}

我想要在 each() 中解析我在 JSON 中的所有级别

  • j=1,级别[j] = 级别1
  • j=2,级别[j] = 级别2

【问题讨论】:

  • 可以修改一下JSON的格式吗?将levelX 对象放在一个数组中会更有意义,而不必连接属性名称来单独检索它们。
  • 是的,会很甜蜜... :) 问题是我的老板给了我这个 JSON 来工作,而我无法更改它。另一方面,JSON 可以有任意数量的随机级别,可能是 100 个,而我根本没有嵌套 100 个级别。

标签: jquery json while-loop each


【解决方案1】:

只用简单的for in

for (key in objJSON) {
  if(key === 'numberoflevels') continue;
  console.log(key + ' command');
}

【讨论】:

  • 您能解释一下这是如何工作的吗?我在使用 JSON 时有点菜鸟
  • @Croc 很好 JSON 是对象,'for in' 循环遍历该对象中的所有键 w3schools.com/jsref/jsref_forin.asp
  • 不错!似乎它正在工作。让我们看看它是否可以容纳我想要它做的事情。谢啦! +1
  • 还有一件事:当我以这种方式浏览 JSON 时,如何才能获取数组的不同信息,例如 "level2" 中的 "name"?
  • 带键,类似于key[levelN].name
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多