Добавление пары значений ключа в объект 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 итерации. Я использовал пролитый, но который удаляет только запятые.
concattedjson = JSON.stringify(JSON.parse(json1).concat(JSON.parse(json2)));
Как добавить значение пары ключей к существующему объекту json?
Я работаю в javascript.
Ответы
Ответ 1
Это самый простой способ, и он работает со мной.
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"};
Ответ 2
Вам нужно сделать объект по ссылке "collegeId", а затем для этого объекта сделать еще две пары ключевых значений:
var concattedjson = JSON.parse(json1);
concattedjson["collegeId"] = {};
concattedjson["collegeId"]["eventno"] = "6062";
concattedjson["collegeId"]["eventdesc"] = "abc";
Предполагая, что concattedjson - ваш json-объект. Если у вас есть только строковое представление, вам нужно parse
сначала до его расширения.
Edit
demo
для тех, кто считает, что это не сработает.
Ответ 3
Просто преобразуйте строку JSON в объект с помощью JSON.parse()
, а затем добавьте свойство. Если вам понадобится его обратно в строку, сделайте JSON.stringify()
.
Кстати, нет такой вещи, как объект JSON. Есть объекты, и есть строки JSON, которые представляют эти объекты.
Ответ 4
const newTestJson = JSON.parse(JSON.stringify(testJson));
newTestJson.collegeId = {"eventno": "6062","eventdesc": "abc"};
testJson = newTestJson;