0

我正在使用 Web API 将表单条目下载到离线系统中,并且我的 JSON 解析器存在一些表单字段 ID 的问题。例如,我收到一个包含以下字段的条目:

{
  "response": {
    "entries": [
      {  
      "3.3": "Henry",
      "3.6": "Ford",
      "3.2": "",
      "3.4": "",
      "status": "active", 
      "transaction_id": null, 
      "transaction_type": null, 

字段 ID 中的句点/句号正在丢弃我的 JSON 解析器,它使用句点/句号作为分隔符 ($.response.entries[0].3)。有没有办法将句点/句号更改为下划线,让 API 返回字段的名称,而不是像“transaction_type”等那样?

4

1 回答 1

0

如果您无法更改数据来自 API 的方式,那么一个 hacky 解决方案就是自己预解析它。您可以使用简单的字符串替换来执行以下操作:

var data = {
  "response": {
    "entries": [
      {  
      "3.3": "Henry",
      "3.6": "Ford",
      "3.2": "",
      "3.4": "",
      "status": "active", 
      "transaction_id": null, 
      "transaction_type": null, 
      }
     ]
    }
}

data = JSON.stringify(data)
data = data.replace(/\./g, '_');
data = JSON.parse(data)

console.log(data)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>

于 2018-02-18T21:41:58.437 回答