Android异常汇集----2. org.json.JSONException: Unterminated string at character


Android异常汇集----2. org.json.JSONException:
                                    Unterminated string at character..


本节前言

    上一节讲述了自定义常见的异常问题,本节继续分析json解析中出现经典问题.
    由于此异常通常出现错误地点不同, 分析此问题步奏通常按照以下几步即可:


本节正文

1.异常描述

JSON数据格式进行解析,出现异常完整信息如下:

06-12 13:08:09.273: W/System.err(31618): org.json.JSONException: Unterminated object at character 133 of {weatherinfo:{city:北京,cityid:101010100,temp:9,WD:西南风, WS:2级,SD:22%,WSE:2,isRadar:1,Radar:JC_RADAR_AZ9010_JB,njd:暂无实况,qy:1014,time:10:45}}
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)

2.分析过程

这是打印的log信息,可以看到去除了双引号,看到最后 time:10:45 解析的结果出现了,格式问题。。
06-12 13:08:09.273: E/blueberry(31618): {weatherinfo:{city:北京,cityid:101010100,temp:9,WD:西南风, WS:2级,SD:22%,WSE:2,isRadar:1,Radar:JC_RADAR_AZ9010_JB,njd:暂无实况,qy:1014,time:10:45}}


3.错误原因

由于解析格式出现错误,特殊字符出现导致,所以避免json中出现特殊字符。


4.解决方法

规范化数据格式.


5.得出结论

发送JSON数据格式不正确,

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




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值