JSON经典异常:org.json.JSONException: Unterminated string at character

案发情景:

手机终端与Java以JSON数据格式方式进行数据交互;

出现异常完整信息如下:

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)


经过测试得出结论:

发送JSON数据格式不正确,

即:

 手机终端那边 抛出的异常信息然后直接放到Json字符串中,而异常信息里面有多个换行或者空格以及特殊字符,然后再通过上报接口传送到Java这边,接着Java这边解析时导致解析json报异常 。

简单测试语句:

JSONObject js = new JSONObject("{\"events\":[{\"otherMsg\":\"java.lang.RuntimeException: Error receiving broadcast Intent  act");



解决方法:

规范化数据格式;

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值