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

get values from json with incremental variable name in jquery

本文关键字:json 获取 变量名 jquery      更新时间:2023-09-26

我有这个json:

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

正如你在每个值中看到的"name"增量一样,我如何访问jquery、中的每个值

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

我需要一个特殊的java脚本库吗??

如何访问每个值??

您可以通过循环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对象?

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

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

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循环将起作用。