javascript - 如何通过动态组合多个其他 json 行中的元素来创建新的 json 行

标签 javascript arrays json object

我在跨行分割的字段中有 json 数据。我想将所有这些字段放在一行中。我想编写一个 javascript 函数,它接受原始输入并生成输出。我对 JavaScript 很陌生。我想以动态方式执行此操作,这样我就不必显式命名新字段 - 而是逐一迭代每行中的所有字段并将它们附加到具有相同名称的新行/值(value)观。提前致谢。

开始 json:

[
    {
        "name": "Sara Smith",
        "dob": "19831002"
    },
    {
        "title": "director",
        "emails": [
            "ssmith@gmail.com",
            "sarasmith@yahoo.com"
        ]
    },
    {
        "phones": [
            {
                "type": "home",
                "number": "3452345432"
            },
            {
                "type": "work",
                "number": "3452345343"
            }
        ]
    }
]   

所需的最终状态 json:

[
    {
        "name": "Sara Smith",
        "dob": "19831002"
        "title": "director",
        "emails": [
            "ssmith@gmail.com",
            "sarasmith@yahoo.com"
        ]
        "phones": [
            {
                "type": "home",
                "number": "3452345432"
            },
            {
                "type": "work",
                "number": "3452345343"
            }
        ]
    }
]       

最佳答案

使用减少:

const startJSON = [{
    "name": "Sara Smith",
    "dob": "19831002"
  },
  {
    "title": "director",
    "emails": [
      "ssmith@gmail.com",
      "sarasmith@yahoo.com"
    ]
  },
  {
    "phones": [{
        "type": "home",
        "number": "3452345432"
      },
      {
        "type": "work",
        "number": "3452345343"
      }
    ]
  }
];

const endJSON = [startJSON.reduce((acc, curr) => ({ ...acc, ...curr }))];

console.log(endJSON);
.as-console-wrapper { max-height: 100% !important; top: auto; }

关于javascript - 如何通过动态组合多个其他 json 行中的元素来创建新的 json 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55466652/

相关文章:

javascript - 使用 Angularjs 时更新 shell 页面上的导航 CSS

javascript - 如何将 jqplot yaxis 格式化为整数

c++ - 初始化一个零数组

javascript - PHP 将文本文件数组添加到数据库中

javascript - 使用来自不同数组的属性更新数组,并且两个数组具有相同的键 - javascript

android - 项目中用数据库检索代替json检索

javascript - 在 ASP.NET MVC 中管理 js 和 css 文件

python - 从嵌套 json 文件提取到 pandas 数据帧

json - 为什么 JSON 类型的 HTTP 501 错误以 text/html 而不是 application/json 的形式呈现给 UI?

javascript - 停止一个连续被调用的函数