alibaba / fastjson

FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
https://github.com/alibaba/fastjson2/wiki/fastjson_1_upgrade_cn
Apache License 2.0
25.73k stars 6.5k forks source link

【解析错误】 #742

Open CodeYouth opened 8 years ago

CodeYouth commented 8 years ago

使用JSON.toJSONString序列化写入writeLine文件中,读取文件反序列化parseObject就出现解析错误

com.alibaba.fastjson.JSONException: not match : - p
    at com.alibaba.fastjson.parser.JSONLexerBase.nextTokenWithChar(JSONLexerBase.java:388)
    at com.alibaba.fastjson.parser.JSONLexerBase.nextTokenWithColon(JSONLexerBase.java:370)
    at com.alibaba.fastjson.parser.DefaultJSONParser.parseExtra(DefaultJSONParser.java:1460)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseField(JavaBeanDeserializer.java:655)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:564)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseRest(JavaBeanDeserializer.java:783)
    at com.alibaba.fastjson.parser.deserializer.FastjsonASMDeserializer_1_CrawledWord.deserialze(Unknown Source)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:185)
    at com.alibaba.fastjson.parser.deserializer.ArrayListTypeFieldDeserializer.parseArray(ArrayListTypeFieldDeserializer.java:118)
    at com.alibaba.fastjson.parser.deserializer.ArrayListTypeFieldDeserializer.parseField(ArrayListTypeFieldDeserializer.java:52)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:543)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:189)
    at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:47)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:543)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:189)
    at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:185)
    at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:614)
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:339)
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:243)
    at com.alibaba.fastjson.JSON.parseObject(JSON.java:456)
    at com.alibaba.fastjson.JSON$parseObject.call(Unknown Source)

错误提示不是很清晰,希望高手帮忙解决一下

CodeYouth commented 8 years ago

重启应用后,又能正常解析了-_-||| 版本 1.2.14

wenshao commented 8 years ago

应该是格式错乱了,非法的JSON字符串

CodeYouth commented 8 years ago

写跟读的过程没有修改过文件,格式为什么会乱呢?

mauersu commented 7 years ago

com.alibaba.fastjson.JSONException: not match : - " 我也遇到这个问题了,非法json字符串,@wenshao 可否报的错误信息更清晰些呢,对于大json找错误真心好费劲啊(2M字符串大小),我的问题原因是 }右大括号没有可匹配左大括号