我有一个要求,我有一个应该转换为键/值对数组的 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]
.....等等
最佳答案
我认为您的代码没有任何问题。你说,你想生成一个包含键值对的数组,你实际上是这样做的:
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"]]
提示:如果你在浏览器中工作,你可以只用这一行输出整个数组,这给你一个很好的表格形式的输出:
console.table(transData);
这是您要找的吗?希望对您有所帮助。
关于javascript - 将 JSON 对象转换为 JS 键/值对数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34240678/