javascript - 数组数组转换为对象数组

标签 javascript arrays json loops object

所以我有一个 JSON 数组数组

[ [ "2015", "Honda", "CR-V", "1.5", "Turbo 7-Seater", "Automatic" ], [ "2016", "Mazda", "CX-5", "2.0", "Premium", "Manual" ] ] 

本质上,我需要使用 JSON 数组中的值以及如下键来创建一个新的 JSON 对象:

{
  "root": {
    "cars": [
      {
        "Year": "2015",
        "Make": "Honda",
        "Model": "CR-V",
        "Engine": "1.5",
        "Submodel": "Turbo 7-Seater",
        "Transmission": "Automatic"
      },
      {
        "Year": "2016",
        "Make": "Mazda",
        "Model": "CX-5",
        "Engine": "2.0",
        "Submodel": "Premium",
        "Transmission": "Manual"
      }
    ]
  }
}

我是 JSON 和 Javascript 新手。有人可以提供一些提示和指导吗?谢谢!

最佳答案

首先,这些是 Javascript 数组对象,而不是 JsonArrayJSONObject

如果object属性始终相同,您可以将数组元素映射到各自的对象中:

var results = {
  "root": {
    "cars": arr.map(function(item) {
      return {
        "year": item[0],
        "make": item[1],
        "model": item[2],
        "engine": item[3],
        "submodel": item[4],
        "transmission": item[5]
      }
    })
  }
}

演示:

var arr = [
  ["2015", "Honda", "CR-V", "1.5", "Turbo 7-Seater", "Automatic"],
  ["2016", "Mazda", "CX-5", "2.0", "Premium", "Manual"]
];

var results = {
  "root": {
    "cars": arr.map(function(item) {
      return {
        "year": item[0],
        "make": item[1],
        "model": item[2],
        "engine": item[3],
        "submodel": item[4],
        "transmission": item[5]
      }
    })
  }
}

console.log(results);

关于javascript - 数组数组转换为对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46046186/

相关文章:

javascript - 使用 Google+ 流程登录

arrays - 将2个数组放入perl中的散列中

c# - 使用 JSON.NET 序列化时如何将属性从接口(interface)继承到对象

php - Ajax "parsererror", "No conversion from text to application/json"

php - 使用 PHP 从只读 Google 表格获取数据

javascript - 想要在鼠标悬停子菜单上保持菜单黑色的字体颜色

javascript - 传单控制地理编码器 - 异常 : "Nominatim is not a constructor"

javascript - HTML5 WebSockets 协议(protocol)是无损的吗?

c - 错误 : initializer element is not computable at load time

python:为什么random.shuffle改变数组