2012-02-18 4 views
0

Я получаю следующий объект в качестве параметра через вызов функции из flashMovie. Поэтому у меня есть простая функция javascript, например, savePro(info), вызываемая из flashmovie.jQuery/Javascript: вставить идентификатор в объект jSON?

Так что я могу просто console.log(info), и я получаю это.

{"action":"setProjectAll", "application":{"proId":"new","zoomPosition":35,"scrollerPosition":0,"language":"en","timelinePosition":0}, "clips":[]} 

У меня есть переменная var id = 12 внутри моего файла JS. Эта переменная является динамической, но всегда содержит число.

Как заменить "proID":"new" внутри объекта json на id моей переменной? Так что я хочу иметь ...

{"action":"setProjectAll", "application":{"proId":12,"zoomPosition":35,"scrollerPosition":0,"language":"en","timelinePosition":0}, "clips":[]} 

впоследствии.

У меня нет абсолютно никакой идеи, как это сделать? Спасибо заранее!

ответ

1

Ну, если это актуально JSON текста, который вы говорите, вы либо должны

  • попытки некоторых фантазии строки манипуляция, или
  • разобрать его, изменить его, а затем stringify его

Последнее было бы, как это ...

var obj = JSON.parse(info); // parse the JSON into a JavaScript object 

obj.application.proId = id; // modify the object 

info = JSON.stringify(obj); // stringify it into JSON if you wanted it as JSON 

Если у вас действительно нет данных JSON, вы просто будете манипулировать им так, как вы можете найти в любой новизне JavaScript-книге.

Это будет такой же подход, как во второй строке кода выше ...

info.application.proId = id; // modify the object 
1

Использование точечной нотации для доступа к свойству:

info.application.proId = id; 

Side Примечание: JSON является представлением строки, используемым для обмена. Кажется, что вы имеете дело только с объектом JavaScript .

0

Вы не имеете «объект JSon», вы либо «JSON», который представляет собой строковое представление вашего объекта, или у вас есть «объект». Предполагая, что последний вы можете установить свойство следующим образом:

info.application.proId = id; 

Если у вас есть JSON вам нужно разобрать его, чтобы создать объект, а затем установить свойство (и если вам это нужно как строку превратить его обратно в формат JSON впоследствии):

info = JSON.parse(info); 
info.application.proId = id; 
info = JSON.stringify(info); 
0

Доступ к свойствам объекта JSON осуществляется с использованием точечной нотации. Пример:

info.application.proId = id; 
Смежные вопросы