将两个数组转换为JSON对象

时间:2019-03-19 19:23:44

标签: javascript arraylist

我正在尝试从两个数组构建JSON。一个数组包含field_name,另一个包含对应的field_name的field_value

    var field_name = ["sys_id","country","calendar_integration","user_password","last_login_time"]
var field_value = ["6816f79cc0a8016401c5a33be04be441","United State","Outlook","Password1","2019-03-19 09:48:41"];

预期输出:

output = { "sys_id" : "6816f79cc0a8016401c5a33be04be441",
        "country" : "United State",
        "calendar_integration" : "Outlook",
        "user_password": "Password1",
        "last_login_time": "2019-03-19 09:48:41"
        }

任何人都可以在这里帮助您,如何在JavaScript中实现这一目标。

3 个答案:

答案 0 :(得分:1)

您可以使用reduce()进行操作。将索引field_name的{​​{1}}的值设置为键,并将当前索引的值设置为i

field_value

您也可以以相同的方式使用var field_name = ["sys_id","country","calendar_integration","user_password","last_login_time"] var field_value = ["6816f79cc0a8016401c5a33be04be441","United State","Outlook","Password1","2019-03-19 09:48:41"]; let res = field_name.reduce((ac,a,i) => ({...ac,[a]:field_value[i]}),{}); console.log(res);

forEach()

答案 1 :(得分:1)

如果两个数组的大小始终相同,则可以尝试类似的操作:

let JSONOutput = {}

for (let i = 0; i < firstArray.length; i++) {
    JSONOutput[firstArray[i]] = secondArray[i];
}

答案 2 :(得分:0)

检查此解决方案

var output = {};
field_name.forEach((field, index) => {
     output[field] = field_value[index];
 });