默认
发表评论 6
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] MoblieIMSDK报转换json错误
阅读(45871) | 评论(6 收藏 淘帖
在接收数据时报com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
json转换错误,不知道改动哪里,求救

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:MobileIMSDK
上一篇:[已回复] MobileIMSDK的OnUserLoginAction_CallBack...回调方法问题下一篇:[已回复] 关于MobileIMSDK支持WEB客户端的咨询
推荐方案
评论 6
能否把图帖上来看看?
引用:JackJiang 发表于 2016-04-13 16:29
能否把图帖上来看看?

2016-04-13 16:30:29.071 ERROR [pool-3-thread-64][ServerCoreHandler.java:48] - [IMCORE]exceptionCaught捕获到错了,原因是:java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176) ~[gson-2.2.4.jar:?]
        at com.google.gson.Gson.fromJson(Gson.java:803) ~[gson-2.2.4.jar:?]
        at com.google.gson.Gson.fromJson(Gson.java:768) ~[gson-2.2.4.jar:?]
        at com.google.gson.Gson.fromJson(Gson.java:717) ~[gson-2.2.4.jar:?]
        at com.google.gson.Gson.fromJson(Gson.java:689) ~[gson-2.2.4.jar:?]
        at net.openmob.mobileimsdk.server.protocal.ProtocalFactory.parse(ProtocalFactory.java:34) ~[msg.jar:?]
        at net.openmob.mobileimsdk.server.ServerCoreHandler.fromIOBuffer(ServerCoreHandler.java:455) ~[msg.jar:?]
        at net.openmob.mobileimsdk.server.ServerCoreHandler.messageReceived(ServerCoreHandler.java:57) [msg.jar:?]
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:854) [mina-core-2.0.10.jar:?]
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:542) [mina-core-2.0.10.jar:?]
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:48) [mina-core-2.0.10.jar:?]
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:943) [mina-core-2.0.10.jar:?]
        at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74) [mina-core-2.0.10.jar:?]
        at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63) [mina-core-2.0.10.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [?:1.7.0_71]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [?:1.7.0_71]
        at java.lang.Thread.run(Thread.java:745) [?:1.7.0_71]
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1
        at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:374) ~[gson-2.2.4.jar:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:165) ~[gson-2.2.4.jar:?]
        ... 16 more
这样的问题,最大的可能性是你在进行对象转JSON时,那个JSON格式是有问题的,建议在log下把传输的JSON文本打印出来,然后对着这个文本看看格式问题。

如果一眼看不出来,可以找个JSON调试工具,一下子就能检查出它是否符合规范。
你自已实现的协议对象转JSON有问题吧
签名: 国庆长假还没有缓过来,请让我静一静,产品狗死远点...
引用:IMDeveloper 发表于 2016-04-13 17:01
你自已实现的协议对象转JSON有问题吧

已找出原因,是阿里健康检测,过滤下就可以了
引用:sxb 发表于 2016-04-23 14:39
已找出原因,是阿里健康检测,过滤下就可以了

你是用的阿里云服务器?阿里云盾误判你的请求为网络攻击,对请求数据进行了清洗?
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部