将JSON对象转换为JS键/值对Array

时间:2015-12-12 14:00:59

标签: javascript jquery arrays json jsonp

我有一个要求,我有一个JSON对象,应该转换为键/值对数组。

JSON:

Object {id: "1213115", transac_status: "Y", trans_id: "601427"....}

这应该转换为JS数组,如下所示: JS数组:

var transData = [{ id: "1213115", transac_status: "Y", trans_id: 601427".... ];

我尝试了以下脚本进行转换。

var transData = $.map(Object , function (e2, e1) {
    return [[e2, e1]];
});

数组尚未按预期转换,而是具有以下内容: -

Array[2]
, 
Array[2]
, 
Array[2]
, 
Array[2]

.....等

2 个答案:

答案 0 :(得分:1)

我认为您的代码没有任何问题。你说,你想要生成一个具有键值对的数组,你实际上是这样做的:

Array[2] , Array[2] , Array[2] , Array[2] 

这只是console.log产生的输出。如果你仔细观察阵列,你会看到它实际上是:

[["1213115", "id"], ["Y", "transac_status"], ["601427", "trans_id"]]

考虑一下,你可能想要切换你的键/值对,如下所示:

var transData = $.map(Object , function (value, key) {
    return [[key, value]];
});

我重命名了函数参数,使事情变得更加清晰。

输出将是:

[["id", "1213115"], ["transac_status", "Y"], ["trans_id, "601427"]]

Tipp:如果你在浏览器中工作,你可以用这一行输出整个数组,这为你提供了一个很好的表格式输出:

console.table(transData);

enter image description here

这是你在找什么?希望有所帮助。

答案 1 :(得分:0)

假设对象是对象列表

No enclosing instance of type Types is accessible. Must qualify the allocation with an enclosing instance of type Types (e.g. x.new A() where x is an instance of Types).

这会将每个对象推入数组;

Example