javascript - js/reactjs - 如何将数据从 json 重建为数组?

标签 javascript arrays json reactjs

因此,我使用 Azure Application Insights REST API 从我的 Web 应用程序获取数据,并将其构造成要在仪表板上显示的图表。

返回的json如下:

{
  "value": {
    "start": "2017-08-07T23:01:50.847Z",
    "end": "2017-08-08T11:01:50.847Z",
    "interval": "PT1H",
    "segments": [
      {
        "start": "2017-08-07T23:01:50.847Z",
        "end": "2017-08-08T00:00:00.000Z",
        "requests/count": {
          "sum": 317
        }
      },
      {
        "start": "2017-08-08T00:00:00.000Z",
        "end": "2017-08-08T01:00:00.000Z",
        "requests/count": {
          "sum": 332
        }
      },
      {
        "start": "2017-08-08T01:00:00.000Z",
        "end": "2017-08-08T02:00:00.000Z",
        "requests/count": {
          "sum": 337
        }
      },
      {
        "start": "2017-08-08T02:00:00.000Z",
        "end": "2017-08-08T03:00:00.000Z",
        "requests/count": {
          "sum": 326
        }
      }
    ]
  }
}

我需要获取“segments”中的“end”“sum”值来构建一个像这样的数组,因为图表api 要求数组采用以下格式:

[
    ["2017-08-08T00:00:00.000Z", 317], 
    ["2017-08-08T01:00:00.000Z", 332],
    ["2017-08-08T02:00:00.000Z", 337],
    ["2017-08-08T03:00:00.000Z", 326]

]

我怎样才能实现这个目标?

最佳答案

如果您更喜欢一些现代 JavaScript,您也可以执行以下操作:

// “res” is your API response
const newArray = res.value.segments.reduce((acc, val) => {
  return [...acc, [val.end, val['requests/count'].sum]];
}, []);

详细了解reduce magic .

希望对你有帮助!

关于javascript - js/reactjs - 如何将数据从 json 重建为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45566681/

相关文章:

javascript - React+Redux - 期望 reducer 是一个函数

c++ - Typedef 数组混淆

json - 我如何解码 JSON?

javascript - 用于用 JavaScript 解析的 Golang JSON 编码

javascript - 理解 AngularJS 中的 Controller 范围

javascript - 检查对象中的任何数组是否包含空值

javascript - Google chrome 中的奇怪行为(提交表单后,它会转到页面底部)

c# - "Pad Left"在 char 数组上有 0

php - 将带有属性的二维数组传输到另一个页面

javascript - 如何在 JavaScript 或 Node.js 中创建用于 JSON 序列化的安全对象