我有一个对象
{
"p1": "hoho",
"p2": "haha",
"p3": {
"v1": "hehe",
"v2": "{\"m1\":\"content1\", \"m2\":\"content2\"}"
}
}
如何将其转换为:
{
"p1": "hoho",
"p2": "haha",
"p3": {
"v1": "hehe",
"v2": {
"m1":"content1",
"m2":"content2"
}
}
}
问题最多是将嵌套的JSON字符串内部Object转换为JSON。
最佳答案
您可以编写一个简单的递归函数来尝试扩展对象(如果是JSON):
var data = {
"p1": "hoho",
"p2": "haha",
"p3": {
"v1": "hehe",
"v2": "{\"m1\":\"content1\", \"m2\":\"content2\"}"
}
}
function jsonExpand(obj) {
for (var k in obj) {
if (!obj.hasOwnProperty(k))
continue; // skip this property
if (typeof obj[k] == "object" && obj[k] !== null) {
jsonExpand(obj[k]);
} else {
try {
obj[k] = JSON.parse(obj[k]);
} catch (e) {
// Not able to be parsed
}
}
}
}
jsonExpand(data);
console.log(data);
关于javascript - JavaScript:将内部JSON字符串转换为JSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51663312/