javascript
Andoird --- Json 经典异常:org.json.JSONException: Unterminated string at character
案發(fā)情景:
手機終端與Java以JSON數(shù)據(jù)格式方式進行數(shù)據(jù)交互;
出現(xiàn)異常完整信息如下:
Unterminated string at character 89 of {"events":[{"otherMsg":"java.lang.RuntimeException: Error receiving broadcast Intent ?act
at org.json.JSONTokener.syntaxError(JSONTokener.java:451)
at org.json.JSONTokener.nextString(JSONTokener.java:219)
at org.json.JSONTokener.nextValue(JSONTokener.java:316)
at org.json.JSONObject.<init>(JSONObject.java:206)
at org.json.JSONTokener.nextValue(JSONTokener.java:319)
at org.json.JSONArray.<init>(JSONArray.java:126)
at org.json.JSONTokener.nextValue(JSONTokener.java:323)
at org.json.JSONObject.<init>(JSONObject.java:206)
at org.json.JSONObject.<init>(JSONObject.java:327)
at cn.eshore.statis.util.AndroidServletTest.main(AndroidServletTest.java:74)
經(jīng)過測試得出結(jié)論:
發(fā)送JSON數(shù)據(jù)格式不正確,
即:
手機終端那邊?拋出的異常信息然后直接放到Json字符串中,而異常信息里面有多個換行或者空格以及特殊字符,然后再通過上報接口傳送到Java這邊,接著Java這邊解析時導(dǎo)致解析json報異常 。簡單測試語句:
JSONObject js = new JSONObject("{\"events\":[{\"otherMsg\":\"java.lang.RuntimeException: Error receiving broadcast Intent ?act");
解決方法:
規(guī)范化數(shù)據(jù)格式;
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Andoird --- Json 经典异常:org.json.JSONException: Unterminated string at character的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Andoird --- 安卓 faile
- 下一篇: 通过MyBatis查找一张表的数据,某些