Javascript 用JQuery解析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被传递到

我有一些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