HarmonyOS 鸿蒙Next 请问 JSON.parse 如何解析嵌套有json字符串的数据?

HarmonyOS 鸿蒙Next 请问 JSON.parse 如何解析嵌套有json字符串的数据?

let result2 = ‘{“name”:“root”,“add”:"{“type”:“message”}",“children”:[{“name”:“child1”,“children”:[{“name”:“grandchild1”},{“name”:“grandchild2”}]},{“name”:“child2”,“children”:[]}]}’;
JSON.parse(result2);

报异常:

SyntaxError: Unexpected Object in JSON


更多关于HarmonyOS 鸿蒙Next 请问 JSON.parse 如何解析嵌套有json字符串的数据?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next 请问 JSON.parse 如何解析嵌套有json字符串的数据?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next开发中,处理嵌套有JSON字符串的数据时,JSON.parse 方法是基础且常用的工具。不过,当遇到嵌套JSON字符串时,需要分步骤进行解析。

首先,确保最外层的JSON字符串是有效的,可以直接使用 JSON.parse 方法将其转换为JavaScript对象。如果嵌套的JSON字符串是作为某个对象的属性值存在,那么你需要先解析外层JSON,然后针对嵌套的JSON字符串再次调用 JSON.parse

示例代码如下:

let nestedJsonStr = '{"outerKey":"{\\"innerKey\\":\\"innerValue\\"}"}';

try {
    let outerObj = JSON.parse(nestedJsonStr);
    let innerJsonStr = outerObj.outerKey;
    let innerObj = JSON.parse(innerJsonStr);
    console.log(innerObj.innerKey); // 输出: innerValue
} catch (e) {
    console.error("JSON解析错误:", e);
}

在上述代码中,首先解析了最外层的JSON字符串 nestedJsonStr,然后提取出嵌套的JSON字符串 innerJsonStr 并再次解析。

如果嵌套层次较多或结构复杂,可以考虑编写递归函数来解析。

回到顶部