异常:
com.alibaba.fastjson.JSONException: syntax error, pos 1
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1240)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1153)
at com.alibaba.fastjson.JSON.parse(JSON.java:102)
at com.alibaba.fastjson.JSON.parse(JSON.java:93)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:164)
异常代码:
JSONObject jsonObject = JSONObject.parseObject(response.getPayInfo());
payInfo字段的值:
“payInfo”:“appid=null;nonceStr=null;timeStamp=null;signType=null;body=null;paySign=null;tradeNO=2021062322001431451412991176”
问题原因:
JSON中,对象用{ }包围,映射用“:”表示,集合或数组用[ ]包围
parseObject是解析对象用的,而payInfo什么都不是,所以出现了解析异常。
解决方法:
String payInfo = "{" + response.getPayInfo().replaceAll(";", ",") + "}"; JSONObject jsonObject = JSONObject.parseObject(payInfo.replaceAll("=", ":"));