将两个数组合并为json

时间:2014-06-10 18:50:56

标签: javascript arrays json

我有两个像这样的数组

var labels = [name, address, stuff];
var data = [Jhon, white house, other stuff];

他们有相同的长度。 我想把它们组合成一个像这样的json:

{"name":"Jhon", "address":"white house",.... and so on}

所以基本上一个数组保存键,另一个数组保存值。 我用javascript。有没有办法轻松做到这一点? 我在网上看到我可以将一个对象解析成一个json,但似乎不可能简单地组合两个数组。

3 个答案:

答案 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];
}