JSON嵌套格式错误求助:如何将一个JSON嵌套到另一个JSON中?
JSON嵌套问题解决方案
当然可行,你遇到的格式错误主要来自两个问题:JSON#2本身存在语法缺陷,以及嵌套时未正确处理双引号。
第一步:修正JSON#2的语法错误
原JSON#2里有两处语法问题:
heading数组最后一个元素多了尾逗号homepage对象未闭合大括号
修正后的JSON#2:
{ "homepage": { "heading": [ {"h1":"Sentence for H1!"}, {"description":"Description about us"}, {"button1":"Learn More"} ] } }
第二步:正确嵌套到JSON#1
有两种嵌套方式,根据你的需求选择:
方式1:将JSON#2作为字符串嵌套
如果需要把JSON#2当作字符串值存入json字段,必须转义所有内部双引号(用\"替代"),最终结果:
{"home":"This a sentence about home", "json":"{\"homepage\": {\"heading\": [{\"h1\":\"Sentence for H1!\"},{\"description\":\"Description about us\"},{\"button1\":\"Learn More\"}]}}"}
方式2:将JSON#2作为JSON对象嵌套(推荐)
如果不需要把嵌套内容当作字符串,而是作为JSON结构的一部分,直接把修正后的JSON#2内容作为json字段的值即可,无需转义:
{ "home": "This a sentence about home", "json": { "homepage": { "heading": [ {"h1":"Sentence for H1!"}, {"description":"Description about us"}, {"button1":"Learn More"} ] } } }
你之前写法的问题
你尝试的代码里,内部嵌套的JSON直接使用了未转义的双引号,导致JSON解析器误判字符串的结束位置,同时原JSON#2的语法错误也会让整体结构失效。
内容的提问来源于stack exchange,提问作者Tom Galland
相关产品推荐
相关产品推荐

