这是我的样本回复:
"Employee" : {
"Employee_Names" : [
{
"BAR_RATING" : "0",
"Name" : "anand",
"Name" : "0",
"PATTERN" : "Ln",
},
{
"BAR_RATING" : "0",
"Name" : "av",
"Name_RATING" : "0",
"PATTERN" : "FiLi",
},
{
"BAR_RATING" : "0",
"Name" : "books",
"Name_RATING" : "0",
"PATTERN" : "Ln",
},
{
"BAR_RATING" : "0",
"Name" : "kanagalu",
"Name_RATING" : "0",
"PATTERN" : null,
},
{
"BAR_RATING" : "0",
"Name" : "specialty-av",
"Name_RATING" : "0",
"PATTERN" : "Fn-Ln",
}
],
"FOUND_Name" : [ null ],
"OTHER_Name" : [
{
"BAR_RATING" : "0",
"Name" : "kindle-cs-support",
"Name_RATING" : "0",
"PATTERN" : null,
},
{
"BAR_RATING" : "0",
"Name" : "noreply-ops-jobs",
"Name_RATING" : "0",
"PATTERN" : null,
}
],
"PERSONAL_Name" : [ null ],
"PROJECTED_Name" : [
{
"BAR_RATING" : "0",
"Name" : "anand.venkatesan",
"Name_RATING" : "0",
"PATTERN" : "Fn.Ln",
},
{
"BAR_RATING" : "0",
"Name" : "anandv",
"Name_RATING" : "0",
"PATTERN" : "FnLi",
},
{
"BAR_RATING" : "0",
"Name" : "vanand",
"Name_RATING" : "0",
"PATTERN" : "LiFn",
}
]
},
我需要的是 Employee_Names 对象我希望同一个数组中的所有名称来自 OTHER_Name 我希望所有名称都存储在数组中
我不知道如何用动态数组大小解析数据
答案 0 :(得分:2)
获取字段中的所有值" name"来自Employee.Employee_Names数组
contactDetails
resultArray将是
var resultArray = Employee.Employee_Names.map(function(a) {return a.Name;});
]
答案 1 :(得分:2)
如果我理解正确,这应该符合您的需求。
我们遍历"Employee_Names"
个对象。
// ES6 code
var allNames = employee["Employee_Names"].map(bar => bar.Name);
// pure javascript
var allNames = [];
for (i = 0; i < employee["Employee_Names"].length; i++) {
var element = employee["Employee_Names"][i];
// We push only name
allNames.push( element.Name );
// We push full json object
//allNames.push( element );
}
现在我们使用allNames
数组分配新的json密钥。
employee = Object.assign(employee, { "NEW_NAMES" : allNames });
检查工作例:
var employee = {
"Employee_Names" : [
{
"BAR_RATING" : "0",
"Name" : "anand",
"Name_RATING" : "0",
"PATTERN" : "Ln",
},
{
"BAR_RATING" : "0",
"Name" : "av",
"Name_RATING" : "0",
"PATTERN" : "FiLi",
},
{
"BAR_RATING" : "0",
"Name" : "books",
"Name_RATING" : "0",
"PATTERN" : "Ln",
},
{
"BAR_RATING" : "0",
"Name" : "kanagalu",
"Name_RATING" : "0",
"PATTERN" : null,
},
{
"BAR_RATING" : "0",
"Name" : "specialty-av",
"Name_RATING" : "0",
"PATTERN" : "Fn-Ln",
}
],
"FOUND_Name" : [ ],
"OTHER_Name" : [
{
"BAR_RATING" : "0",
"Name" : "kindle-cs-support",
"Name_RATING" : "0",
"PATTERN" : null,
},
{
"BAR_RATING" : "0",
"Name" : "noreply-ops-jobs",
"Name_RATING" : "0",
"PATTERN" : null,
}
],
"PERSONAL_Name" : [ ],
"PROJECTED_Name" : [
{
"BAR_RATING" : "0",
"Name" : "anand.venkatesan",
"Name_RATING" : "0",
"PATTERN" : "Fn.Ln",
},
{
"BAR_RATING" : "0",
"Name" : "anandv",
"Name_RATING" : "0",
"PATTERN" : "FnLi",
},
{
"BAR_RATING" : "0",
"Name" : "vanand",
"Name_RATING" : "0",
"PATTERN" : "LiFn",
}
]
};
// ES6
//var allNames = employee["Employee_Names"].map(bar => bar.Name);
// pure javascript
var allNames = [];
for (i = 0; i < employee["Employee_Names"].length; i++) {
var element = employee["Employee_Names"][i];
// We push only name
allNames.push( element.Name );
// We push full json object
//allNames.push( element );
}
// Now we assign new json key with our names
employee = Object.assign(employee, { "NEW_NAMES" : allNames });
// Our new employee json
console.log(employee);
&#13;
答案 2 :(得分:1)
使用Array map()方法将对象数组中的所有特定属性值转换为单个数组。
要从Employee_Names将所有名称提取到单个数组中:
var empNames = employee.Employee_Names.map(function(item) {
return item.Name;
});
要从OTHER_Name获取所有名称:
var otherNames = employee.OTHER_Name.map(function(item) {
return item.Name;
});
工作演示
var employee = {
"Employee_Names" : [
{
"BAR_RATING" : "0",
"Name" : "anand",
"Name_RATING" : "0",
"PATTERN" : "Ln",
},
{
"BAR_RATING" : "0",
"Name" : "av",
"Name_RATING" : "0",
"PATTERN" : "FiLi",
},
{
"BAR_RATING" : "0",
"Name" : "books",
"Name_RATING" : "0",
"PATTERN" : "Ln",
},
{
"BAR_RATING" : "0",
"Name" : "kanagalu",
"Name_RATING" : "0",
"PATTERN" : null,
},
{
"BAR_RATING" : "0",
"Name" : "specialty-av",
"Name_RATING" : "0",
"PATTERN" : "Fn-Ln",
}
],
"FOUND_Name" : [ null ],
"OTHER_Name" : [
{
"BAR_RATING" : "0",
"Name" : "kindle-cs-support",
"Name_RATING" : "0",
"PATTERN" : null,
},
{
"BAR_RATING" : "0",
"Name" : "noreply-ops-jobs",
"Name_RATING" : "0",
"PATTERN" : null,
}
]
};
var empNames = employee.Employee_Names.map(function(item) {
return item.Name;
});
var otherNames = employee.OTHER_Name.map(function(item) {
return item.Name;
});
console.log("Employee Names", empNames);
console.log("Other Names", otherNames);