Jquery JSON数据结构解析?
我试图通过ajax使用这些数据。像这样:Jquery JSON数据结构解析?,jquery,json,Jquery,Json,我试图通过ajax使用这些数据。像这样: var $data = $.get('/data.js', function(data){ console.log($(data)); }); 在data.js文件中,我有一个对象: var data = { "testData" : { "order" : [21,22,33,32,55,20,41], "categories" : { "41" : {
var $data = $.get('/data.js', function(data){
console.log($(data));
});
在data.js文件中,我有一个对象:
var data = {
"testData" : {
"order" : [21,22,33,32,55,20,41],
"categories" : {
"41" : {
"id" : 41,
"title" : "Foo",
"count" : 100,
"href" : "/foo/Foo/"
},
"20" : {
"id" : 20,
"title" : "Bar",
"count" : 100,
"href" : "/foo/Bar/"
}
}
},
"following" : {
"order" : [6,5,4,3,1,0],
"friends" : {
"0" : {
"id" : "0",
"name" : "Friend Name",
"href" : "/test/link",
"title" : "Friend Name"
},
"1" : {
"id" : "1",
"name" : "Friend2 Name",
"href" : "/test/link2",
"title" : "Friend2 Name"
}
}
}
};
我错过了什么?有没有一种方法可以在不修改实际数据源的情况下使用和解析这些数据?
数据是通过响应发送的JavaScript对象,因此我建议将文件更改为JSON并像这样使用它:
$.get('/data.json', function(data){
// do here what you need to do with returned data or call callback
console.log(data);
}, 'json');
data.json
文件应该是这样的(基本上只有对象表示法,没有赋值等):
请记住,JavaScript最适合于基于事件的编程。您可能应该使用回调编写解决方案的代码,因为它有时是异步执行的,并在实际执行完成之前返回值。这不是JSON,这是一个JavaScript对象。@Felix,更准确的说法是“那不是JSON,那是JavaScript”。@squegy:Fair enough;)当然,我知道这不是一个JSON对象,而是一个JavaScript对象,这是我的问题。有没有可能像我这样称呼它,并按原样消费它。谢谢你们的快速反应@FelixKling:只是的一个快捷方式,它是的快捷方式。我知道,但它更具表现力,并且会自动解析JSON,如果内容类型设置不正确,get
。@FelixKling:不,猜测将基于MIME类型(请参见dataType
setting on)。但是我已经改变了答案,所以它是显式设置的。谢谢如果你还有其他问题,请告诉我。
{
"testData" : {
"order" : [21,22,33,32,55,20,41],
"categories" : {
"41" : {
"id" : 41,
"title" : "Foo",
"count" : 100,
"href" : "/foo/Foo/"
},
"20" : {
"id" : 20,
"title" : "Bar",
"count" : 100,
"href" : "/foo/Bar/"
}
}
},
"following" : {
"order" : [6,5,4,3,1,0],
"friends" : {
"0" : {
"id" : "0",
"name" : "Friend Name",
"href" : "/test/link",
"title" : "Friend Name"
},
"1" : {
"id" : "1",
"name" : "Friend2 Name",
"href" : "/test/link2",
"title" : "Friend2 Name"
}
}
}
}