我有一个要求,我有一个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]
.....等
答案 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);
这是你在找什么?希望有所帮助。
答案 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).
这会将每个对象推入数组;