将元素数组转换为json对象

时间:2013-01-10 23:32:33

标签: jquery json

我有一个带有重复pk值的pks数组,我想将其转换为jSON对象,其中

obj.id = pk
obj.count = count of pk in array

我尝试使用JSON.stringify库但obj.id没有给我任何pk。

2 个答案:

答案 0 :(得分:0)

使用json2

并致电:

var myJsonString = JSON.stringify(yourArray);

答案 1 :(得分:0)

我认为这就是你要找的东西:

var x = [1,1,1,2,2,2,3,4,3];
var unique = {};
for(var i = 0; i < x.length; i++)
{
  if (!unique.hasOwnProperty(x[i])) {
     unique[x[i]] = 1;
  }
  else
  {
    unique[x[i]]++;
  }
}

制作{1: 3, 2: 3, 3: 2, 4: 1}

然后,您可以将其转换为您想要的对象结构

var objArray = [];

for (var key in unique) {
  objArray.push({id: key, count: unique[key]});
}

制作[{id: 1, count: 3},{id: 2, count: 3},{id: 3, count: 2},{id: 4, count: 1}]