我只是使用JSON数据并正在使用jQuery和Ajax请求。非常基本的东西,但这是我的问题。
我有一个基本数据集,我用它来进行时间跟踪。我知道如何解析这样的简单JSON数据:
{
"end" : "1/18/2011",
"start" : "1/18/2011",
"task" : "Code Review",
},
这是我试图解析的更复杂的东西,我试图将“时间”数据拉出来。
{
"end" : "1/17/2011",
"start" : "1/17/2011",
"task" : "Exclusive Brands",
"time" : {
"analysis" : 4,
"documentation" : 3,
"meetings" : 2
}
这是我用来解析简单数据的脚本的代码:
$(function() {
$('.load').click(function(){
$.getJSON("data.js",function(data){
$.each(data.timesheet, function(i,data){
var div_data ="<div class='box'>"+data.start+" "+data.task+"</div>";
$(div_data).appendTo("#time-tracking");
});
}
);
return false;
});
});
我的问题是解析time
数据的格式是什么,或者解析嵌套在time
元素中的信息的最佳方法是什么?
任何帮助将不胜感激。
答案 0 :(得分:4)
JSON字符串将被解析为一个对象。解析时,time
是一个对象的关键。您可以通过点运算符(.
)检索此对象的值。
data = JSON.parse('{"end":"1/17/2011", "start":"1/17/2011", "task":"Exclusive Brands", "time": {"analysis":4, "documentation":3, "meetings":2 } }')
// => obj
data.time.analysis
// => 4
在您的情况下,您可以使用data.time.meetings
从远程服务器访问您的数据。
答案 1 :(得分:0)
除非我非常错误,因为jquery已经为您将数据转换为javascript,您应该能够像访问javascript对象那样访问时间,如下所示:
var analysis = data.time.analysis;
var documentation = data.time.documentation;
var meetings = data.time.meetings;
等...