我想用 javascript 解析外部 JSON 文件,其中包含一个数组和其他元素。这是名为“TotalUsers.json”的 JSON 文件
{"@version":"1.0",
"@generatedDate":"12/20/10 5:24 PM",
"day":[{"@value":"53819","@date":"2010-12-01"},
{"@value":"57558","@date":"2010-12-02"},
{"@value":"61141","@date":"2010-12-03"}]}
我想在两个单独的数组daysTotal和valuesTotal中获取day数组的“value”和“day”元素。我正在尝试使用 JQuery 的 getJSON 方法来实现此目的。但是,我对日期数组的内部格式感到困惑。
格式化后,两个输出数组应如下所示:
值总计 = [53819, 57558, 61141]; 天数= [2010-12-01, 2010-12-02, 2010-12-03];
这是我到目前为止所要做的,
$.getJSON('TotalUsers.json', function(data) {
var valuesTotal = [];
var daysTotal = [];
$.each(data, function(key, val) {
if (key == day)
{
daysTotal.push('<li id="' + key.key + '">' + key.val + '</li>');
}
else
{
valuesTotal .push('<li id="' + key + '">' + val + '</li>');
}
});
});
请帮我理清逻辑,我对 JSON 和 javascript 还很陌生。
任何帮助将不胜感激。
谢谢。
最佳答案
day
未定义,您可能指的是 'day'
,尽管您真正想要的是:
$.getJSON('TotalUsers.json', function(data) {
var valuesTotal = [];
var daysTotal = [];
$.each(data.day, function(key, obj) {
valuesTotal.push('<li id="value-' + key + '">' + obj["@value"] + '</li>');
daysTotal.push('<li id="day-' + key + '">' + obj["@date"] + '</li>');
});
});
只需迭代日期数组,填充两个子数组即可。
关于java - 使用 JQuery 在 Javascript 中解析外部 JSON 文件(包含数组元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13170888/