这是 json对象我正在使用
{
"name": "John Smith",
"age": 32,
"employed": true,
"address": {
"street": "701 First Ave.",
"city": "Sunnyvale, CA 95125",
"country": "United States"
},
"children": [
{
"name": "Richard",
"age": 7
},
{
"name": "Susan",
"age": 4
},
{
"name": "James",
"age": 3
}
]
}
我希望这是另一个键值对:
"collegeId": {
"eventno": "6062",
"eventdesc": "abc"
};
我尝试了concat但是这给了我带有||的结果符号和我cdnt迭代。我使用spilled但只删除了逗号。
concattedjson = JSON.stringify(JSON.parse(json1).concat(JSON.parse(json2)));
如何将键对值添加到现有的json对象? 我在javascript工作。
答案 0 :(得分:11)
这是最简单的方式,它对我有用。
var testJson = {
"name": "John Smith",
"age": 32,
"employed": true,
"address": {
"street": "701 First Ave.",
"city": "Sunnyvale, CA 95125",
"country": "United States"
},
"children": [
{
"name": "Richard",
"age": 7
},
{
"name": "Susan",
"age": 4
},
{
"name": "James",
"age": 3
}
]
};
testJson.collegeId = {"eventno": "6062","eventdesc": "abc"};
答案 1 :(得分:3)
你需要在引用" collegeId"中创建一个对象,然后对于该对象,在那里再创建两个键值对:
var concattedjson = JSON.parse(json1);
concattedjson["collegeId"] = {};
concattedjson["collegeId"]["eventno"] = "6062";
concattedjson["collegeId"]["eventdesc"] = "abc";
假设concattedjson是你的json对象。如果您只有字符串表示,则在扩展之前需要先parse
。
修改强>
对于那些认为无效的人来说, demo
。
答案 2 :(得分:3)
只需使用JSON.parse()
将JSON字符串转换为对象,然后添加属性即可。如果您需要它回到字符串中,请执行JSON.stringify()
。
答案 3 :(得分:0)
const newTestJson = JSON.parse(JSON.stringify(testJson));
newTestJson.collegeId = {"eventno": "6062","eventdesc": "abc"};
testJson = newTestJson;