【发布时间】:2016-09-03 14:31:07
【问题描述】:
我知道这不是最好的方法,但我别无选择:(
我必须通过索引访问 JSONObject 中的项目。访问对象的标准方法是写this[objectName] 或this.objectName。我还找到了一种获取 json 对象内所有字段的方法:
(for (var key in p) {
if (p.hasOwnProperty(key)) {
alert(key + " -> " + p[key]);
}
}
(来源:Loop through Json object)。
但是,无法通过索引直接访问 JSON 字段。我现在看到的唯一方法是创建一个数组,使用上面的函数,通过索引获取字段名,然后通过字段名获取值。
据我所见,p(在我们的例子中,JSON 文件必须是一个可迭代的数组,否则 foreach 循环将不起作用。我怎样才能直接访问这个数组?或者它是某种未排序的列表?
【问题讨论】:
-
为什么必须通过索引访问项目?你所写的是如何遍历一个对象,这就是你所拥有的——将它更改为一个数组并不能提供相同的信息。
-
嗨,我无法以任何其他方式获取数据,所以我以某种方式通过索引访问它们(想法是显示在所有字段为一列的表中),因为我们想使用与其他对象的格式相同(我们通过字段名访问它们),我必须找到一种通过索引来特定访问数据的方法:(。如前所述,我首先创建一个字段名数组,然后通过索引访问它们,但我想摆脱这种不正当行为:P
-
为什么不在迭代之前有一个变量索引,然后用它来下订单?像
var i之前的 for 循环,和里面的 i = i + 1?
标签: javascript json