Code Bye

关于解析json文档的某个片段

怎么解析json的片段昂,原因是有可能截取未封闭的json,但前面的数据仍然是有价值的。
需要本人写一个解析类么?_(:з」∠)_
解决方案

5

不不完整的json本人还真没遇到过,本人想本人会通过正则吧,或补齐json也行~看看有木有高手有其他的方案

5

利用堆栈,补齐缺失的 ]、}、”

5

“未封闭”是个比较简单的说法,但是不知道你具体的测试数据是什么样。容易想当然。
例如,随便写一个
{ "a" : 1234,
b: "567,
c: [ a: "1234", "b": 5678},
d: "53DF87=="

问一下,这应该解析为什么呢?怎么样判断“未封闭”的具体位置的?

5

引用:

“TABLE”:{“FORMAT”:[[“WHITE”,”0″,”1″]],”BODY”:[{“PAGE”:””,”END”:””,”NEXT”:””,”WHITE”:[“”],”COLUMN”:[[“”,””,””]],”BODY”:[[“”],[“”],[”
就像这种,里边的BODY之后是不需要担心的,但是本人要获取PAGE,END,NEXT,WHITE的信息。

假如直到字符串结尾之前都不存在“未封闭”的问题,那么其实还是很容易补齐所缺少的封闭符号的。但是需要本人写一个简单的递归下降的分析程序。json 很简单,只有 Json对象、Json数组、Json数值 3、4个对象而已,一边读取字符一边建立这个分析树,这个程序写起来估计也不过几十行、百来行代码。当你读到字符串结尾时,你的“未封闭的json对象”也就能从分析树直接递归返回。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于解析json文档的某个片段