将键值对附加到json对象

时间:2013-01-11 05:07:30

标签: json

这是 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工作。

4 个答案:

答案 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()

顺便说一下,没有JSON对象这样的东西。有对象,并且有JSON字符串表示这些对象。

答案 3 :(得分:0)

const newTestJson = JSON.parse(JSON.stringify(testJson));
newTestJson.collegeId = {"eventno": "6062","eventdesc": "abc"};
testJson = newTestJson;