jQuery Объединение 2 объектов с динамическими свойствами

У меня есть 2 объекта javascript. Мне нужно объединить их вместе, однако один из них содержит значения полей динамической формы, сохраненные в переменных.

У меня есть пример кода: http://jsfiddle.net/ZAa7L/

Я получил этот код из другого вопроса в stackoverflow, и их пример работал нормально.

Моя проблема в том, что всякий раз, когда я запускаю его, я получаю ошибку javascript: Uncaught SyntaxError: Unexpected token s

Меня это серьезно бесит, как будто я заменяю имя переменной в объекте data1 литеральной строкой, все работает нормально.

Есть идеи, как заставить свойство startDay использовать переменную?

Большое спасибо

Фил


person Phil Cross    schedule 23.05.2013    source источник


Ответы (1)


Вы можете просто объединить строку, подобную этой

var startDayVar = 1;

var data1 = '{ "startDay" : ' + startDayVar + '}';
var data2 = '{ "applicationId": "events.save"}';

var json1 = JSON.parse(data1);
var json2 = JSON.parse(data2);

var obj = $.extend({},json1,json2);
console.log(obj);

FIDDLE

person VVV    schedule 23.05.2013
comment
Не могу поверить, что я пропустил это! Большое тебе спасибо. Я приму ответ, когда смогу - person Phil Cross; 23.05.2013