更新
All the solutions in this post answer my question, but I can mark only one as excepted answer...
我有这个 JSON 结果:
[
{
"unsorted1":[7,7,10,3,3]
},
{
"unsorted2":[8,9,3,10,6]
}
]
我想用 JavaScript 创建一个数组,其中每个“unsorted1”和“unsorted2”作为键,[7,7,10,3,3] 和 [8,9,3,10,6]必须保留为 JSON 格式。像 That unsorted1: [7,7,10,3,3] 和 unsorted2: [8,9,3,10,6] 这样的对象
这是我在浏览器中使用 console.log(JSON.parse(returnVar));
得到的,returnVar
参数保存我从上面得到的 JSON 结果。
我读了很多,也尝试了很多,但没有什么能接近我想要的。不知怎么的,我无法完成它。
我尝试修改这段代码,但没有成功
var resultObj = {};
for (var key in returnVar) {
if (returnVar.hasOwnProperty(key)) {
var val = returnVar[key];
console.log("val: " + val);
var keyName = Object.keys(val);
console.log("key Name: " + keyName);
for (var keykey in val) {
if (val.hasOwnProperty(keykey)) {
var valval = val[keykey]
resultObj[keyName] = JSON.stringify(valval);
}
}
}
}
最佳答案
//if the Json result is an object - this is how you parse it
var objJson = [{
"unsorted1": [7, 7, 10, 3, 3]
}, {
"unsorted2": [8, 9, 3, 10, 6]
}];
function parse() {
if (Array.isArray(objJson) === true) {
objJson.map(function(i) {
//alert(JSON.stringify(i));
console.log(JSON.stringify(i));
});
};
}
parse();
//if your json result is a string - this is how you do it
var strJson = "[{\"unsorted1\": [7, 7, 10, 3, 3]}, {\"unsorted2\": [8, 9, 3, 10, 6]}]"; //dont worry about the escaped quotes here - this is a string that is represented here.. but it will work if your JSON result is a string.
function parseString() {
var objJson = JSON.parse(strJson);
if (Array.isArray(objJson) === true) {
objJson.map(function(i) {
//alert(JSON.stringify(i));
console.log(JSON.stringify(i));
});
};
}
parseString();
关于javascript - 解析 JSON 结果并从中创建自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39356053/