当前位置: 首页 > 知识库问答 >
问题:

将json响应转换为表

仉洲
2023-03-14
"data": [
            {
                "type": "A",
                "date": "2018-05",
                "value": "153"
            },
            {
                "type": "B",
                "date": "2018-05",
                "value": "888"
            },
            {
                "type": "C",
                "date": "2018-05",
                "value": "999"
            },
            {
                "type": "D",
                "date": "2018-05",
                "value": "555"
            },
            {
                "type": "A",
                "date": "2018-06",
                "value": "148"
            },
            {
                "type": "B",
                "date": "2018-06",
                "value": "222"
            },
            {
                "type": "C",
                "date": "2018-06",
                "value": "555"
            },
            {
                "type": "D",
                "date": "2018-06",
                "value": "666"
            },
            {
                "type": "A",
                "date": "2018-07",
                "value": "156"
            },
            {
                "type": "B",
                "date": "2018-07",
                "value": "111"
            },
            {
                "type": "C",
                "date": "2018-07",
                "value": "333"
            },
            {
                "type": "D",
                "date": "2018-07",
                "value": "999"
            }
],
        "number": "111-111"
   }
]

我需要将其转换为以下格式

[{
    month: '2018-05',
    A: 153,
    B: 888,
    C: 999,
    D: 555
  },
  {
    month: '2018-06',
    A: 148,
    B: 222,
    C: 555,
    D: 666
  },
  {
    month: '2018-07',
    A: 156,
    B: 111,
    C: 333,
    D: 999
  }]

类型的数量可以改变(例如,可以只有A和B)。有人能帮我吗?我使用这个组件在网站https://js.devexpress.com/demos/widgetsgallery/demo/datagrid/simplearray/angular/light/上显示数据

共有1个答案

宇文迪
2023-03-14

这就是我如何处理你的问题:

1)从数据源中获取类型和日期列表。我们使用JavaScript的集合来存储这些值,以便这些值是唯一的(没有重复项)。

date中的值将被视为结果数组中每个对象的唯一键,而type将是结果的其他属性('a'、'b'、'c'和'd')

const list = {"data":[{"type":"A","date":"2018-05","value":"153"},{"type":"B","date":"2018-05","value":"888"},{"type":"C","date":"2018-05","value":"999"},{"type":"D","date":"2018-05","value":"555"},{"type":"A","date":"2018-06","value":"148"},{"type":"B","date":"2018-06","value":"222"},{"type":"C","date":"2018-06","value":"555"},{"type":"D","date":"2018-06","value":"666"},{"type":"A","date":"2018-07","value":"156"},{"type":"B","date":"2018-07","value":"111"},{"type":"C","date":"2018-07","value":"333"},{"type":"D","date":"2018-07","value":"999"}],"number":"111-111"};

// const dates = [...new Set(list.data.map(item => item.date))];
const dates = Array.from(list.data.map(item => item.date));
console.log(dates);

// const types = [...new Set(list.data.map(item => item.type))];
const types = Array.from(list.data.map(item => item.type));
console.log(types)
 
const res = dates.map(date => {
  const obj = {};
  types.map(type => {
    obj[type] = list.data.filter(item => item.date === date && item.type === type)[0].value;
  });
  obj.date = date;
  return obj;
});
console.log(res);
 类似资料:
  • 我是格森的新手。我需要将下面的JSON响应转换成一个列表。 JSON响应: 我有一门课要教数据 账户JAVA 当我对我的班级做出回应时,我得到了: 现在我需要将这两个值放入

  • 我有一个问题,我已经在stackoverflow上问了几次,我已经尝试了所有这些问题,没有一个有效。所以我很想在另一个时间总结这个问题,并试着更准确地描述它。 我正在构建一个应用程序,将图片发送到python后端,以获得xcode swift中的图像识别结果。 我正在使用Alamofire上传,这里是上传部分: 下面是我从服务器端得到的json响应: 所以,我想要达到的目的,就是打印第一个预言的名

  • 我正在处理jBPM 7.22.0。最终的 我使用服务任务REST从这个api获取响应https://reqres.in/api/users/1 我想将此响应获取到一个对象中,因此我创建了这个类(或jBPM中调用的数据对象): 我在jBPM中创建了一个名为res的全局变量,该变量具有我要存储响应的数据对象的类型。因此,在我的REST服务任务的“任务”中,我有屏幕截图中的内容。 如您所见,我想将结果存

  • 使用此JSON,自动JSON到POJO严重失败。 请注意,不同请求的项目数量不同。在这里,我将包含两项JSON响应。 这个JSON对象的POJO会是什么样子?

  • null 这是很好的,因为我可以确定我的API请求是否成功。 但是: 由于JSend格式有它自己的东西,它在响应时也有一个小的状态指示器,如下所示: 我是否应该坚持手动解析并使用而不是我的模型 对于类型paramter? 因为这样,我可以使用并将字符串转换为JSON,然后我可以手动解析模型,就像为它们编写解析器一样。

  • 我有一个带有POST REST API的SpringBoot2.2 webservice。我正在使用Okhttp客户机向第三方服务发出请求。我希望将第三方服务的确切响应返回给我的WebService的调用者。所有okhttp食谱都参考: 我尝试在api中返回okhttp响应,但我只返回调用方示例: 有人知道如何将Okhttp响应对象转换为Spring ResponseEntity对象以便返回htt