我有一个数组和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中的动态数组值。
有谁知道我怎么能做到这一点?这有点复杂的情况。
答案 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
会在浏览器中乱七八糟