Javascript 用JQuery解析JSON
我有一些JSON,如下所示:Javascript 用JQuery解析JSON,javascript,jquery,json,Javascript,Jquery,Json,我有一些JSON,如下所示: [{ "Age": 35, "FirstName": "Peyton", "LastName": "Manning" }, { "Age": 31, "FirstName": "Drew", "LastName": "Brees" }, { "Age": 58, "FirstName": "Brett", "LastName": "Favre" } ] 这个JSON被传递到
[{
"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);
});
}
编辑:根据您的更新,我认为这是因为您引用的结果属性不存在,即
项
。传递给each函数的null值导致jQuery阻塞内部函数。检查完整的代码,而不仅仅是此处显示的“G”示例。我想,某个地方有语法错误。
至于“结果”的用法——它可能是一个全局变量,但我认为tvanfosson是对的。这里看起来不太好。这里有一个使用示例案例的工作函数
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);
通过本机JS解析JSON最简单的方法是:
function parseJSON(result)
{
for(var i in result) {
var item = result[i];
alert("First Name: " + item.FirstName);
alert("Age: " + item.Age);
}
}
发件人:。这将解析JSON字符串,而不会有使用
eval
Nope的危险。对象没有items
属性。它只是一个对象数组。每个对象都有一个Age
,FirstName
等属性,因此我认为它是正确的这是对一条评论的回应,即它应该是json.items
而不是简单的json
。我还应该补充一点,我假设它不是一个字符串,即json字符串已经“对象化”。更改变量名应该如何解决任何问题?@naugtur——检查这个问题的编辑历史记录。最初,函数没有结果。你对我投了反对票,因为我的回答反映了OP的遗漏。那是一个很大的“对不起”。我会补偿你的。我认为G可能是缩小后的一个内部jQuery函数。我同意,完全绕过jQuery