3

我有一些如下所示的 JSON 数据:

"Extras": {
  "T01": "Value 1",
  "T02": "Value 2",
  "T03": "Value 3",
  // etc.
}

我需要一个列表中的每个值,所以我试过这个:

$.each(data.result, function(i){
  $("#result").append('<li>'+data.result.Extras[]+'</li>');
});

这显然不起作用,我似乎无法弄清楚该怎么做。我试过data.result.Extras没有运气(因为我刚刚得到[object][Object])。

有什么想法可以获取列表中的所有值吗?谢谢!

4

2 回答 2

5

您正在迭代data.result,我相信您需要迭代Extras.

$.each(data.result.Extras, function(k, v){
  $("#result").append('<li>'+v+'</li>');
});

注意:在上面的函数k中是键,v是对象中的值Extras。例如:对于第一次迭代k将是T01并且v将会是Value 1

以上应产生和输出的

<ul id="result">
   <li>Value 1</li>
   <li>Value 2</li>
   <li>Value 3</li>
</ul>
于 2012-10-31T13:51:03.657 回答
2

尝试使用 eval 方法转换 JSON 字符串,它会给您一个 JSON 的 obj,您可以使用它来获取 JSON 字符串的每个属性的值,例如 'TO1' ,'TO2'

例如

var jsonstr = '"Extras": { "T01": "Value 1", "T02": "Value 2", "T03": "Value 3"}';
var obj = eval(jsonstr);
alert(obj.TO1);
于 2012-10-31T13:55:39.273 回答