解析JSON数组响应

时间:2019-07-08 16:11:02

标签: javascript arrays json

我正在从API接收到JSON响应,该API的解析格式不正确。

我试图在开始时添加丢失的密钥,但不允许这样做。

[
  {
    "deviceId": "9092eab10f4",
    "name": "temperature",
    "timestamp": "2017-06-13T13:19:59.673Z",
    "value": 21.5
  },
  {
    "deviceId": "9092eab10f4",
    "name": "temperature",
    "timestamp": "2017-06-13T13:19:59.673Z",
    "value": 21.5
  }
]

我希望它具有缺少的键和类似的大括号:

{
  "data": [
  {
    "deviceId": "9092eab10f4",
    "name": "temperature",
    "timestamp": "2017-06-13T13:19:59.673Z",
    "value": 21.5
  },
  {
    "deviceId": "9092eab10f4",
    "name": "temperature",
    "timestamp": "2017-06-13T13:19:59.673Z",
    "value": 21.5
  }
  ]
}

2 个答案:

答案 0 :(得分:0)

简单对象分配?

const properResponse = Object.assign({}, {data: [response.json()]});

...假设响应是获取的,或与返回响应对象的json方法类似。

答案 1 :(得分:0)

我不确定您得到的响应是字符串还是对象。

这是一个小提琴,它同时考虑了这两种情况并将预期的输出记录到控制台。

https://jsfiddle.net/6yu9ngf5/2/

对于响应为字符串的情况,我使用了JSON.parse(<string>)

对于其他情况,我只是在您的回复中添加了数据密钥。