使用jQuery打印JSON对象

时间:2012-10-31 13:48:53

标签: jquery json

我有一些看起来像这样的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])。

我可以做些什么来获取列表中的所有值?谢谢!

2 个答案:

答案 0 :(得分:5)

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

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

注意:在上面的函数中,k是键,v是对象Extras中的值。例如:第一次迭代kT01vValue 1

以上应该产生和输出

<ul id="result">
   <li>Value 1</li>
   <li>Value 2</li>
   <li>Value 3</li>
</ul>

答案 1 :(得分: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);