我有一些看起来像这样的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]
)。
我可以做些什么来获取列表中的所有值?谢谢!
答案 0 :(得分: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>
答案 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);