【问题标题】:Take away brackets and spaces in json string去掉json字符串中的括号和空格
【发布时间】:2019-09-12 07:12:11
【问题描述】:

device_token 包含括号和空格,我想在有效负载中去掉它

这是一个发送到供应商 API 的 JSON 负载

{
    "audience": {
        "device_token": "< XXXX XXXX XXXX XXXX >"
    },
    "device_types": [
            "ios"
    ],
    "notification": {
        "ios": {
            "alert": {
                "title": "INSERT_TITLE_TEXT_HERE",
                "body": "INSERT_BODY_TEXT_HERE"
            }
        }
     }
}

我希望 JSON 具有 device_token:

{
    "audience": {
        "device_token": "XXXXXXXXXXXXXXXX"
    },
    "device_types": [
            "ios"
    ],
    "notification": {
        "ios": {
            "alert": {
                "title": "INSERT_TITLE_TEXT_HERE",
                "body": "INSERT_BODY_TEXT_HERE"
            }
        }
     }
}

【问题讨论】:

    标签: json whitespace brackets


    【解决方案1】:

    假设处理语言是javascript:

    json.audience.device_token = json.audience.device_token.replace(/[<> ]/g, '')
    

    更多信息,请阅读String.prototype.replace 文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace

    【讨论】:

      【解决方案2】:

      首先您将 JSON 对象更改为字符串,然后替换您想要的文本。

      类似:

      // Define the payload object
      var jsonPayload = {
          "audience": {
              "device_token": "< XXXX XXXX XXXX XXXX >"
          },
          "device_types": [
                  "ios"
          ],
          "notification": {
              "ios": {
                  "alert": {
                      "title": "INSERT_TITLE_TEXT_HERE",
                      "body": "INSERT_BODY_TEXT_HERE"
                  }
              }
           }
      };
      // Turn the object into a String
      var string = JSON.stringify(jsonPayload);
      // Replace the arrows and spaces with empty strings
      var updatedString = string.replace(/< /g,'').replace(/ >/g,'').replace(/\s/g,'');
      // Replace the jsonPayload with your new version by parsing the string 
      // where replacements have been made back into a JSON object;
      jsonPayload = JSON.parse(updatedString);
      

      应该可以!

      【讨论】:

      • 谢谢!这是我拥有的网络界面,我似乎只有 JSON 文件的可能性,没有 javascript。还有其他方法吗?
      猜你喜欢
      • 2020-08-27
      • 1970-01-01
      • 2017-03-01
      • 1970-01-01
      • 2020-12-13
      • 2014-08-18
      • 2019-08-19
      • 2023-03-22
      • 1970-01-01
      相关资源
      最近更新 更多