我正在关注JSON响应,但是一些索引有像'Employee Id'这样的空格。这就是为什么我无法解析它。任何人都可以建议用JavaScript解析它的方式吗?解析JQuery中的JSON响应时出现错误,javascript
{
"Employees": [
{
"Employee": {
"Employee ID": "777",
"Short Name": "abc",
"First name": null,
"Middle name": null,
"Last name": null,
"Designation": "Senior Engineer",
"Ext-1": null,
"Ext-2": null,
"Mobile-1": null,
"Mobile-2": null,
"Email": "[email protected]"
}
},
{
"Employee": {
"Employee ID": "888",
"Short Name": "xyz",
"First name": null,
"Middle name": null,
"Last name": null,
"Designation": "Test Lead",
"Ext-1": null,
"Ext-2": null,
"Mobile-1": null,
"Mobile-2": null,
"Email": "[email protected]"
}
}
]
}
我的代码 -
function GetContacts() {
$.ajax({
type: "GET",
contentType: 'application/json; charset=utf-8',
url: "http://. . . . . .",
dataType: "json",
success: function(data) {
//alert(data.getString("Employee ID"));
$.each(data, function(i, contactList) {
alert('First Loop' + i);
alert('First Loop' + contactList[0]);
$.each(contactList, function(j, Contact) {
//alert('Second Loop'+Contact);
var fnalObj = Contact;
//alert(fnalObj);
//alert(fnalObj.["Employee"]["Employee ID"]);
//alert(Employees[j]["Employee"]["Email"]);
//alert(Employees[0]["Employee"]["Employee ID"]);
alert(fnalObj.Employee.Email);
alert(fnalObj.Employee.Designation);
alert(fnalObj.Employee.Ext - 1);
alert(fnalObj.Employee.Mobile - 1);
});
});
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
alert(textStatus);
}
});
}
带空格的键对解析器来说没有问题。 'JSON.parse'和jQuery的解析器可以正常工作。见http://jsfiddle.net/4jqQw/ ...所以问题是你的实际问题是什么? –
我认为你可以使用'Employees [0] [“Employee”] [“Employee ID”]而不是'Employees [0] .Employee.Employee ID'(这是不正确的),但我不是100%肯定 –
我把你的JSON放到http://jsonlint.com中,它会以有效的JSON形式出现,所以解析器不应该打破这个。你在使用什么解析器?你能否将你的解析尝试中的代码粘贴到你的错误中? – Liam