我知道如何使用jquery来简化json。
JSON
{
"Symbol": "AAL.L",
"Name": "ANGLO AMERICAN",
"Last": "3061.50",
"Date": "7/26/2011",
"Time": "11:35am",
"Change": "+35.00(+1.16%)",
"High": "3087.00",
"Low": "3047.00",
"Volume": "3160820",
"Bid": "3061.50",
"Ask": "3062.50",
"PercentChange": "+1.16%"
}
jquery的
$.getJSON("1.json", function(data) {
$("div").html("<p>Symbol="+data.Symbol+" Time="+data.Time+" Bid="+data.Bid+"</p>");
});
但是,现在我有一个json文件,如:
[
{
"Symbol": "AAL.L",
"Name": "ANGLO AMERICAN",
"Last": "3061.50",
"Date": "7/26/2011",
"Time": "11:35am",
"Change": "+35.00(+1.16%)",
"High": "3087.00",
"Low": "3047.00",
"Volume": "3160820",
"Bid": "3061.50",
"Ask": "3062.50",
"PercentChange": "+1.16%"
},
{
"Symbol": "AAL.L",
"Name": "ANGLO AMERICAN",
"Last": "3061.50",
"Date": "7/26/2011",
"Time": "11:35am",
"Change": "+35.00(+1.16%)",
"High": "3087.00",
"Low": "3047.00",
"Volume": "3160820",
"Bid": "3061.50",
"Ask": "3062.50",
"PercentChange": "+1.16%"
},
{
"Symbol": "AAL.L",
"Name": "ANGLO AMERICAN",
"Last": "3061.50",
"Date": "7/26/2011",
"Time": "11:35am",
"Change": "+35.00(+1.16%)",
"High": "3087.00",
"Low": "3047.00",
"Volume": "3160820",
"Bid": "3061.50",
"Ask": "3062.50",
"PercentChange": "+1.16%"
}
]
我不能用那种方式来游行。结果是“未定义”。 我怎么能这样做呢?另外,我希望结果如下:
Symbol = [num, num, num], Time = [num, num, num], Bid = [num, num, num]
有人可以告诉我该怎么做。 非常感谢!!!
答案 0 :(得分:4)
$.getJSON("1.json", function(data) {
var i = 0, dataSize = data.length, html = '';
for(i; i < dataSize; i++){
html += "<p>Symbol="+data[i].Symbol+" Time="+data[i].Time+" Bid="+data[i].Bid+"</p>";
}
$("div").html(html);
});
基于@Robert Koritnik的评论,“而不是单个对象 [...] [你] 找回了 [...]的对象数组[你] 必须访问。“
答案 1 :(得分:1)
[]
表示数组,因此您需要按data[0]
之类的键访问项目。你可以用for或$.each()
循环遍历它们。
$.getJSON("1.json", function(data) {
$.each(data, function(i,obj){
$("div").html("<p>Symbol="+obj.Symbol+" Time="+obj.Time+" Bid="+obj.Bid+"</p>");
});
});
如果您希望结果重新构建,那么您必须以相同的方式循环它并创建一个新结构。 ID给出了一个例子,但我不明白你要去哪里[num,num,num]
....
答案 2 :(得分:0)
只需使用迭代器
data[0].Symbol
等