在jquery中使用增量变量名从json获取值

时间:2013-08-14 10:27:35

标签: javascript jquery

我有这个json:

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

你可以在每个值中看到“name”的增量,我如何访问jquery中的每个值,

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

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

我怎样才能访问每个值?

2 个答案:

答案 0 :(得分: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
  }
}

来源:How to Loop through plain JavaScript object with objects as members?

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

答案 1 :(得分: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 loop will work