我有两个像这样的数组
var labels = [name, address, stuff];
var data = [Jhon, white house, other stuff];
他们有相同的长度。 我想把它们组合成一个像这样的json:
{"name":"Jhon", "address":"white house",.... and so on}
所以基本上一个数组保存键,另一个数组保存值。 我用javascript。有没有办法轻松做到这一点? 我在网上看到我可以将一个对象解析成一个json,但似乎不可能简单地组合两个数组。
答案 0 :(得分:2)
您要做的是迭代数组并通过expandos分配给对象。由于长度相同,您可以使用其中一个数组作为长度。
var obj = {};
for (var i = 0; i < labels.length; i++) {
obj[labels[i]] = data[i];
}
然后,您可以通过JSON.stringify()方法(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)将此对象转换为JSON。
var asJSON = JSON.stringify(obj);
答案 1 :(得分:0)
这是我最喜欢的JS功能之一。可索引对象使得一些棘手的代码变得如此强大。
var newObj = {};
for(var i = 0; i < labels.lenght; i++)
newObj[ labels[i] ] = data[i];
答案 2 :(得分:0)
var obj={};
for(i=0;i<data.length;i++)
{
obj[labels[i]]=data[i];
}