我正在尝试创建这个:
var a = {
"requestM" : {
"task" : "list",
"listRequest" : {
"checkedEntryType" : "GLOBAL",
"targetList" : {
"maxResult" : "2",
"status" : "OPEN",
"entryType" : "CALL"
},
"targetList" : {
"maxResult" : "3",
"status" : "CLOSED",
"entryType" : "CALL"
},
"targetList" : {
"maxResult" : "2",
"status" : "OPEN",
"entryType" : "TODO"
},
"targetList" : {
"maxResult" : "2",
"status" : "CLOSED",
"entryType" : "TODO"
}
}
}
}
targetList 未嵌套在数组内,但它会重复。现在我尝试创建这样的消息:
var reqJson = {
"requestM" : {
"task" : "list",
"listRequest" : {
"checkedEntryType" : checkedEntryType
}
}
};
reqJson.requestM.listRequest.targetList={
"maxResult" : 10,
"status" : "OPEN",
"entryType" : "CALL"
};
reqJson.requestM.listRequest.targetList={
"maxResult" : 10,
"status" : "OPEN",
"entryType" : "TODO"
};
但是第二个 targetList 将替换第一个。如何避免这种情况?谢谢!
最佳答案
键对于对象来说必须是唯一的。使其值成为一个数组。一旦您从 JSON 转换为 JavaScript 对象,您就可以 push数据到其上。
"listRequest" : {
"checkedEntryType" : "GLOBAL",
"targetList" : [
{
"maxResult" : "2",
"status" : "OPEN",
"entryType" : "CALL"
},
{
"maxResult" : "3",
"status" : "CLOSED",
"entryType" : "CALL"
}
]
关于javascript - 如何添加名称已作为另一个属性存在的 JSON 项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6106668/