com.alibaba.fastjson.JSONException: syntax error, pos 1錯誤的處理方法
今天工作中遇到比較特殊的問題。fastjson報出com.alibaba.fastjson.JSONException: syntax error, pos 1 這樣的一個錯誤。詭異的地方是把對應的JSON string用第三方的JSON parser 是正常的,而且format也是成功,沒有問題的。
所以記錄一下處理的方法:
具體的exception stack如下所示:
Exception in thread "main" com.alibaba.fastjson.JSONException: syntax error, expect }, actual , at com.alibaba.fastjson.parser.DefaultJSONParser.accept(DefaultJSONParser.java:1458) at com.alibaba.fastjson.parser.deserializer.AbstractDateDeserializer.deserialze(AbstractDateDeserializer.java:115) at com.alibaba.fastjson.parser.deserializer.AbstractDateDeserializer.deserialze(AbstractDateDeserializer.java:15) at com.alibaba.fastjson.serializer.CalendarCodec.deserialze(CalendarCodec.java:103) at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:86) at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:745) at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseRest(JavaBeanDeserializer.java:1283) at com.alibaba.fastjson.parser.deserializer.FastjsonASMDeserializer_3_Header.deserialze(Unknown Source) at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:267) at com.alibaba.fastjson.parser.deserializer.FastjsonASMDeserializer_2_ProductApplicationResponseDTO.deserialze(Unknown Source) at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:267) at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:86) at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseField(JavaBeanDeserializer.java:1078) at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:773) at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseRest(JavaBeanDeserializer.java:1283) at com.alibaba.fastjson.parser.deserializer.FastjsonASMDeserializer_1_FileUpload4PARESMQRequestDTO.deserialze(Unknown Source) at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:267) at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:661) at com.alibaba.fastjson.JSON.parseObject(JSON.java:365) at com.alibaba.fastjson.JSON.parseObject(JSON.java:269)
判斷要解析的字符串是否符合json解析的格式