Как добавить в существующую строку JSON .stringify - PullRequest
0 голосов
/ 30 апреля 2020

Могу ли я добавить к этой строке, как только она будет преобразована в строку?

Например, вот массив, с которого я начинаю:

var headers = {
 'Dropbox-API-Arg' : JSON.stringify({
    'close':false,
    'cursor': {
       'session_id': '',
       'offset': chunk.offset
    }
  })
}

У меня есть session_id от сервер в другой переменной с именем responseText, как мне добавить эту переменную в качестве значения session_id.

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Анализ, добавление данных, повторная строковая обработка.

let o_daa = JSON.parse(headers['Dropbox-API-Arg']);
o_daa.cursor.session_id = '<whatever>';
headers['Dropbox-API-Arg'] = JSON.stringify(daa);  

В качестве альтернативного подхода не храните строковые аргументы вызова API в структуре header, а выполняйте строковое преобразование на лету, когда вы выполните вызов Ajax, который избавит вас от необходимости многократного анализа и строкового преобразования аргументов вызова API.

0 голосов
/ 30 апреля 2020

Сначала проанализируйте строку JSON, чтобы вы могли обновить значения с помощью Javascript. После этого вы можете снова превратить его в строку JSON.

const obj = JSON.parse(jsonString);

obj.cursor.session_id = sessionId;

const str = JSON.stringify(obj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...