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
并再次解析。
如果嵌套层次较多或结构复杂,可以考虑编写递归函数来解析。