首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将{Object}的嵌套[Array]转换为> {Object} | JSON文件

将{Object}的嵌套[Array]转换为> {Object} | JSON文件
EN

Stack Overflow用户
提问于 2018-02-27 13:20:03
回答 3查看 56关注 0票数 1

我是JSON数据操作的新手,我需要一些帮助。

我有一个JSON文件,如下所示:

代码语言:javascript
复制
[
  {
    "plannification": {
      "Data": 1,
      "DataType": "GB",
      "InclusionOption1": ".",
      "Default": false,
      "PropositionId": "GBT13456",
      "EssentialLink": "greatpdf.com/pdf.pdf",
      "Term": "1",
      "Segment": "part",
      "Id": "653284",
    }
  },
  {
    "plannification": {
      "Data": 1,
      "DataType": "FR",
      "inclusionOption1": ".",
      "default": false,
      "PropositionId": "FRT13456",
      "EssentialLink": "greatpdf.com/pdf2.pdf",
      "term": "1",
      "Segment": "pro",
      "Id": "984532",
    }
  }
]

我想将这个文件转换为object,并且只从"Segment": “pro”,中提取数据,如下所示:

代码语言:javascript
复制
    {
      984532:{
      Segment: "pro",
      EssentialLink: "greatpdf.com/pdf.pdf",
      PropositionId: "FRT13456",
     },
      etc.. {},
}

我该从哪里开始呢?

EN

回答 3

Stack Overflow用户

发布于 2018-02-27 13:26:56

您可以在值为proSegment上使用array#filter筛选数组。可以使用array#reduce遍历数组,然后使用Object#values()取出每个对象的值并创建新对象。

代码语言:javascript
复制
const data = [{ "plannification": { "Data": 1, "DataType": "GB", "InclusionOption1": ".", "Default": false, "PropositionId": "GBT13456", "EssentialLink": "greatpdf.com/pdf.pdf", "Term": "1", "Segment": "part", "Id": "653284" } }, { "plannification": { "Data": 1, "DataType":"FR", "inclusionOption1": ".", "default": false, "PropositionId": "FRT13456", "EssentialLink": "greatpdf.com/pdf2.pdf", "term": "1", "Segment": "pro", "Id": "984532", } } ],
      result = data.filter(o => {
        let { Segment } = Object.values(o)[0];
        return Segment === 'pro';
      }).reduce((r,o) => {
        let { Id, Segment, PropositionId, EssentialLink } = Object.values(o)[0];
        r[Id] = { Segment, PropositionId, EssentialLink };
        return r;
      },{})
console.log(result);

票数 1
EN

Stack Overflow用户

发布于 2018-02-27 13:25:33

1-读取json文件

2-迭代对象数组

3-对于每个对象,检查所需的属性

4-如果它与您想要的匹配,则读取对象的属性并构造对象

票数 0
EN

Stack Overflow用户

发布于 2018-02-27 13:26:22

您的数据结构无效,请先更正您编写json对象数组的方式,这样我才能找出

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49001624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档