[英]JSON Objects in a JSON Array in javascript
我在 JSON 数组中处理 JSON 对象。 单击按钮后,我将 json 对象推送到如下数组中:
jsonArray.push({
columnNameProperty: columnName,
columnValueProerty: columnValue,
id: column.id
});
我的结果数组如下所示:
[
0:{
columnNameProperty: "Name",
columnValueProperty: "Nancy",
id: "123"
},
1:{
columnNameProperty: "Name",
columnValueProperty: "Jene",
id: "124"
},
2:{
columnNameProperty: "Amount",
columnValueProperty: "1000",
id: "123"
},
3:{
columnNameProperty: "State",
columnValueProperty: "WA",
id: "123"
}
]
当我想根据 id 推送项目时,我该如何修改它。
[
"123" : {
"Name" : "Nancy",
"Amount" : "1000",
"State" : "WA"
},
"124" : {
"Name" : "Jene"
}
]
任何人都可以建议我如何以这种格式构建它。
@Amy 是正确的,这实际上不是有效的 javascript。 数组没有键。 所以你的例子
[
0:{
columnNameProperty: "Name",
columnValueProperty: "Nancy",
id: "123"
},
1:{
columnNameProperty: "Name",
columnValueProperty: "Jene",
id: "124"
}
]
真的看起来像这样
[
{
columnNameProperty: "Name",
columnValueProperty: "Nancy",
id: "123"
},
{
columnNameProperty: "Name",
columnValueProperty: "Jene",
id: "124"
}
]
如果您的目标是通过 id 检索元素,您可以创建一个循环遍历数组的函数,查找并返回具有给定 id 的对象。
或者,您可以创建一个哈希映射并通过其键访问每个值。 例如,给定这个对象:
let map = {
"123" : {
"Name" : "Nancy",
"Amount" : "1000",
"State" : "WA"
},
"124" : {
"Name" : "Jene"
}
}
您可以通过说map['123']
来获取键“123”的值
为什么一定要使用数组? 对于您想要实现的目标,您可以设置一个对象,然后将更多对象插入其中。
var exampleObject={};
function onClick(){
exampleObject["123"]={"Name":"steve"}
}
我假设您正在尝试使用该方法稍后在数组中找到正确的对象?
您可以简单地遍历对象并在其中找到它:
for (var obj in exampleObject){
if(obj==="123"){
//do something
}
}
能够通过创建 HashMap/Object 来实现所需的格式:
var id = column.id;
var mapObject = {}, editMap = {};
if(editMap.hasOwnProperty(id)){
mapObject = editMap[id];
mapObject[columnName] = grid[columnName];
editMap[id] = mapObject;
}
else{
mapObject[columnName] = [columnName];
editMap[id] = mapObject;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.