如何将javascript数组转换为JSON行的名称/值对中的“名称”?

时间:2015-07-15 16:07:33

标签: javascript arrays ajax json

例如,我有这个动态数组,可以是任意长度,但我得到了这个数组的两个值。

var arrName = ["firstName","lastName"];

我必须为这个动态数组创建一个具有精确给定值的json变量。这是我的方法

方法1:错误意外类型'['

var jsonValues = {arrName[0] : "Mark", arrName[1]: "Collins"}

方法2:正常但在控制台中输入'jsonValues'时它不会显示json内容,而是获得一个Array类型。我不确定这是否可以接受,因为我想JSON.stringify它并通过ajax传递给php服务器。

var jsonValues = [{}];
jsonValues[arrName[0]] = "Jeffrey";
jsonValues[arrName[1]] = "Douglas";

1 个答案:

答案 0 :(得分:4)

你想要

var jsonValues = {};
jsonValues[arrName[0]] = "Jeffrey";
jsonValues[arrName[1]] = "Douglas";

有关更通用的版本,请参阅下划线中的object功能。

在大多数浏览器尚不支持的ES6中,还有一种语法符合您的预期:

var jsonValues = {
  [arrName[0]]: "Jeffrey",
  [arrName[1]]: "Douglas",
};

请参阅MDN Reference