JSON解析与jQuery
我有一些JSON看起来像以下:JSON解析与jQuery
[{"Age":35,"FirstName":"Peyton","LastName":"Manning"},
{"Age":31,"FirstName":"Drew","LastName":"Brees"},
{"Age":58,"FirstName":"Brett","LastName":"Favre"}]
该JSON传递到我创建了一个叫做parseJSON功能。这个功能看起来是这样的:
function parseJSON(result)
{
$.each(result.items,function(i,item) {
alert("First Name: " + item.FirstName);
alert("Age: " + item.Age);
});
}
当我虽然运行此代码,我得到一个JavaScript错误,即“G是不确定的”。如何使用JQuery解析我的JSON,以便我可以读取FirstName和Age属性?
谢谢!
您正在使用名为result
的变量,该变量不存在于您的函数中。也许,应该用json
代替。
function parseJSON(json)
{
$.each(json,function(i,item) {
alert("First Name: " + item.FirstName);
alert("Age: " + item.Age);
});
}
编辑:根据您的更新,我想那是因为你所引用的结果是不存在的,即items
属性。传递给每个函数的空值会导致jQuery窒息内部函数。
没有。该对象没有'items'属性。它只是一个对象数组。每个对象都有一个'Age','FirstName'等属性,所以我认为这是正确的,因为我拥有它。 - 这是回应一个评论,它应该是'json.items'而不是简单的'json'。 – tvanfosson 2010-01-19 14:59:29
我还应该补充一点,我假设它不是一个字符串,即json字符串已经被“物化”了。 – tvanfosson 2010-01-19 15:00:10
如何更改变量名称修复任何问题? – naugtur 2010-01-28 14:27:03
请检查您的完整代码,不仅是此处显示的“G”示例。我想,在某处有一个语法错误。 至于使用“结果” - 它可能是一个全局变量,但tvanfosson是正确的,我认为。这里看起来不太好。
我认为G可能是缩小后的内部jQuery函数。 – tvanfosson 2010-01-19 15:03:47
这是一个使用您的示例案例的工作函数。
var result = [{
"Age": 35,
"FirstName": "Peyton",
"LastName": "Manning"
}, {
"Age": 31,
"FirstName": "Drew",
"LastName": "Brees"
}, {
"Age": 58,
"FirstName": "Brett",
"LastName": "Favre"
}];
function parseJSON(result){
$.each(result, function(index, object){
$.each(object, function(i, o){
alert(i + " = " + o);
})
})
}
parseJSON(result);
最简单的解析JSON母语JS:
function parseJSON(result)
{
for(var i in result) {
var item = result[i];
alert("First Name: " + item.FirstName);
alert("Age: " + item.Age);
}
}
我同意,完全绕过jQuery – 2010-01-30 19:18:58
Brett Favre ... 58? – mportiz08 2010-01-19 19:46:51