JSON解析与jQuery
问题描述:
我有一个JSON文件看起来像这样:JSON解析与jQuery
{
"status": 200,
"data": {
"employeeId": "515552",
"firstName": "Name",
"lastName": "LastName",
"locationName": "Location Name",
"businessUnitName": "Unit",
"workPhone": "212/465-5555",
"cellPhone": "646/261-5555",
"faxNumber": "",
"assistant": "",
"email": "[email protected]",
"reportsTo": [
{
"employeeId": "533953",
"firstName": "Howard",
"lastName": "Jacobs",
"jobTitle": "EVP Marketing & Sales Teams"
}
],
"departnemtId": "649654910",
"departnemtName": "Action Sports Administration",
"jobTitle": "VP Action Sports/Transform Dev"
}
}
我使用Ajax调用的数据推到一个数组,但我似乎无法找出正确的方法去到reportsTo
数据。它的最后一个和我得到Undefined
:
// Load the Employee Details on the index.page
$.ajax({
url: "user-details-515552.json",
cache: true,
dataType : 'json',
success : function(results) {
var employeeData = [];
employeeData.push({
assistant: results.data.assistant,
departmentID: results.data.departnemtId,
departmentName: results.data.departnemtName,
locationName: results.data.locationName,
reportsToName: results.data.reportsTo.employeeId
});
$('#employee-details').tmpl(employeeData).appendTo('#results-container');
}
});
答
上级是包含数组([])一个对象({}),所以你将需要访问该阵列的第一个元素([0])第一:
results.data.reportsTo[0].employeeId
+0
谢谢。说得通。 – Xtian 2012-02-28 17:41:56
答
我觉得你的问题是这样的:在这里您尝试通过对象的属性名称得到它:
reportsToName: results.data.reportsTo.employeeId
然而,你在一个数组,使得这种早些时候:
"reportsTo": [
{
"employeeId": "533953",
"firstName": "Howard",
"lastName": "Jacobs",
"jobTitle": "EVP Marketing & Sales Teams"
}
],
我不知道..但我认为解决的办法是设置
results.data.reportsTo.employeeId
到
results.data.reportsTo[0].employeeId
(虽然不肯定。)可能更容易只删除在[]
..
答
$.each(json.data.reportsTo,function(k,v){
console.log(v.firstName);
});
从数组
console.log(json.data.reportsTo[0].firstName);
答
得到一个单一的价值在这种情况下reportsTo
是一个数组(见[
和]
):
{ // ...
"data" : {
// ...
"reportsTo": [
{ "employeeId": "533953",
// ...
}
],
// ...
}
...所以你需要提供一个数组索引,例如:
results.data.reportsTo[ 0 ].employeeId
答
for (var reportsTo in results.data.reportsTo){
//use reportsTo
}
reportsTo是一个数组,会不会有多个人的情况? – charlietfl 2012-02-28 17:40:30
是的,会有的。 – Xtian 2012-02-28 17:46:33