【问题标题】:How to add to existing JSON.stringify string如何添加到现有 JSON.stringify 字符串
【发布时间】:2020-08-14 17:02:33
【问题描述】:

一旦字符串化,我可以添加到这个字符串中吗?

例如,这里是我开始的数组:

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

我在另一个名为 responseText 的变量中从服务器返回 session_id,如何将该 var 添加为 session_id 值。

【问题讨论】:

    标签: javascript jquery arrays json xmlhttprequest


    【解决方案1】:

    解析、添加数据、重新字符串化。

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

    作为一种替代方法,请考虑不要将字符串化的 API 调用参数存储在 headerstructure 中,而是在发出 Ajax 调用时即时进行字符串化,这样您就无需重复解析和字符串化 API调用参数。

    【讨论】:

    • 我很乐意,但我必须对标头不同的 3 个不同端点进行 3 次不同的调用。所以我一开始就设置了它们。我需要这样做的唯一原因是因为第二次和最后一次调用需要第一次调用的响应(session_id)。
    【解决方案2】:

    首先解析 JSON 字符串,以便您可以通过 Javascript 更新值。之后,您可以再次将其转换为 JSON 字符串。

    const obj = JSON.parse(jsonString);
    
    obj.cursor.session_id = sessionId;
    
    const str = JSON.stringify(obj);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 2012-11-07
      • 2020-07-17
      相关资源
      最近更新 更多