1

我有这个json:

{"name0":"value","name1":"value","name2":"value","name3":"value","name4":"value"}

如您所见,每个值中的“名称”递增,我如何访问 jquery 中的每个值,

我知道,我可以使用以下命令访问单个值:例如 json.name1,但 name 是一个可递增的变量。我需要将所有值都放在一个 html 列表中,但这个值可能是 1 或 100

需要我一个特殊的java脚本库,还是什么?

我如何访问每个值?

4

2 回答 2

2

您可以通过遍历 Javascript 对象来获取所有值:

var yourObject = {"name0":"value","name1":"value","name2":"value","name3":"value","name4":"value"}

for(var key in yourObject) {
  // important check that this is objects own property 
  // not from prototype prop inherited
  if(key.hasOwnProperty(key)){
    var value = yourObject[key]
    // Put value in a html list here
  }
}

来源:如何以对象为成员循环遍历纯 JavaScript 对象?

我希望这有助于解决您的问题。

于 2013-08-14T10:33:10.633 回答
0

顺序在这里似乎很重要,所以如果你不关心旧浏览器,你可以这样做:

var key, value;

for (var i = 0; i < Object.keys(your_object).length; i++) {
    key = "name" + i;
    value = your_object[key];
}

如果您确实关心较旧的浏览器(FF3.6、IE8),请使用更丑的版本:

var key, value;
var num_properties = 0;

for (var key in your_object) {
    if (your_object.hasOwnProperty(key)) {
        num_properties++;
    }
}

for (var i = 0; i < num_properties; i++) {
    key = "name" + i;
    value = your_object[key];
}

此外,如果顺序不重要,则for...in循环将起作用

于 2013-08-14T10:33:53.200 回答