将数组和其他变量一起转换为JSON

时间:2016-11-15 01:37:51

标签: javascript arrays json

我有一个数组和2个这样的变量

var data = ['12','23', '45'];
var location = 'school'
var details = 'student';

我想将此转换为json,如下所示

{
"School Details":[
     {"data":"12", "location":"school", "details":"student"}, 
     {"data":"23", "location":"school", "details":"student"},
     {"data":"45", "location":"school", "details":"student"}
]
}

请注意:数据数组的值是动态的,可能会有所不同。但是,变量“location”和“details”将始终保持不变。我需要不断地将这个静态值插入json中的动态数组值。

有谁知道我怎么能做到这一点?这有点复杂的情况。

1 个答案:

答案 0 :(得分:5)

使用array #map将数据中的每个值映射到所需的对象

使用JSON.stringify将生成的对象转换为需要的JSON字符串

var data = ['12','23', '45'];
var loc = 'school'
var details = 'student';
var object = { "School Details": data.map(function(item) {
        return { data: item, location:loc, details:details };
    })
};
var json = JSON.stringify(object);
console.log(json);
  

注意已将var location更改为var loc,因为在全局范围内使用var location会在浏览器中乱七八糟