пример:вставить имя и значение пары
var data = { name : "John",age : 19}
Я хочу добавить еще пару внутри объекта JSON.
{gender : male}
так, что он станет
data = { name : "John",age : 19,gender : "male" }
пример:вставить имя и значение пары
var data = { name : "John",age : 19}
Я хочу добавить еще пару внутри объекта JSON.
{gender : male}
так, что он станет
data = { name : "John",age : 19,gender : "male" }
Все, что вам нужно, это
data.gender = "male";
Попробуйте это:
var data = { name : "John",age : 19};
data.gender = "male";
data.gender = "male"
Более подробная информация здесь: Dynamically Add Variable Name Value Pairs to JSON Object
Да, либо:
data.gender = "male";
или
data['gender'] = "male";
(Это эквивалентно.)
Если вы используете JQuery (или один из многих других библиотек), у вас может быть «расширенная» функция, которая для этого полезна. Он «объединяет» два объекта Javascript. В JQuery:
$.extend(data, { gender: "male" });
Это хорошо, потому что вы можете расширить объект JSON с более чем одним значением.
var data = { name : "John",age : 19};
var update = {gender : "male"};
function merge(target, source){
for(var prop in source){
target[prop] = source[prop];
}
return target;
}
var merged = merge(data, update);
Это добавит все свойства в update
к data
. Использование возвращаемого значения является необязательным. data
сам обновляется внутри функции, поскольку это объект.
Или, если вы используете JQuery
var merged = $.extend(data, update);
Использование JQuery мы можем сделать глубокий уровень переходящего
var update = {gender : "male", address:{house:"house1", street:"street1", pin:"pin1"}};
var merged = $.extend(true, data, update);
Чтобы достичь того же с помощью обычной Javascript вы должны изменить и рекурсивно вызвать функцию У меня есть написанное выше.
Jaider хотел добавить: Или без изменения данных: 'var merged = $ .extend ({}, data, update);' –
data.gender = "male"; ? –
@RayToal: Не "педантичный" вообще. –