使用fastJson解析json字符串报错

1.问题的报错信息

Disconnected from the target VM, address: '127.0.0.1:10960', transport: 'socket'
    at com.alibaba.fastjson.parser.JSONLexerBase.scanSymbolUnQuoted(JSONLexerBase.java:829)
    at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:286)
    at com.alibaba.fastjson.parser.DefaultJSONParser.parseArray(DefaultJSONParser.java:1192)
    at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1360)
    at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1333)
    at com.alibaba.fastjson.JSON.parse(JSON.java:155)
    at com.alibaba.fastjson.JSON.parse(JSON.java:165)
    at com.alibaba.fastjson.JSON.parse(JSON.java:134)
    at testJsoup.TestJsoup.main(TestJsoup.java:78)

2.需要解析的字符串

[{\"id\":\"12001\",\"rid\":\"dzzwzx002\",\"rName\":\"\u7535\u5B50\u653F\u52A1\u4E2D\u5FC3\u9879\u76EE\u90E8\"}]

3.疑问点

字符串是用json解析工具是可以解析的,但是用fastJson或者Jackson都报错。这时候需要将unicode编码全部转化为utf-8编码再parse,字符串就可以解析成功了。

4。划重点

解析json字符串的时候,只有字符串中含有unicode编码的,都要转换为utf-8编码(与自己的服务器编码一致)。然后再解析。

推荐阅读更多精彩内容