Android:解析Json异常 Expected a string but was BEGIN_OBJECT at

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 今天解析后端数据时,发现了这个报错:Expected BEGIN_OBJECT but was STRING at看来是自己哪儿解析错误了。因为数据的特殊性,后端返回的Json串里面可能还会有Json数据,可能嵌套了三次层,

今天解析后端数据时,发现了这个报错:Expected BEGIN_OBJECT but was STRING at


看来是自己哪儿解析错误了。


因为数据的特殊性,后端返回的Json串里面可能还会有Json数据,可能嵌套了三次层,


例如:

{"info":{"clientMsgId":"ebc5018f-b2bd-4c87-a662-5bcf11dd3843","content":"{\"inviteId\":159,\"meetingInfo\":{\"ownerAvatar\":\"https://cdn.dev.utown.io/i/20220528/0/1/b/01b020f1d5e043a886a20a6fcdf6b742.png\",\"kicked\":false,\"secret\":\"\",\"ownerId\":1000164,\"roomId\":1000556,\"needSecret\":false,\"remindTime\":0,\"ownerName\":\"24591417\",\"screenShareSetting\":0,\"hasMeetingFile\":false,\"meetingCode\":\"100003\",\"name\":\"啧啧额啧啧爷爷\",\"closeCameraWhenJoin\":false,\"startTime\":1656761474000,\"endTime\":1656765074000,\"id\":270,\"closeMicWhenJoin\":false,\"status\":0}}","contentType":1023,"conversationId":"f72c48dbd209486f95f8667e134bba28","msgSeq":393,"partner":{"userAvatar":"https://cdn.dev.utown.io/i/20220528/0/1/b/01b020f1d5e043a886a20a6fcdf6b742.png","userFace":"","userName":"24591417","userRelation":"STRANGER"},"receiverId":1000164,"senderId":1000164,"sendingState":"NONE","sessionType":0,"timestamp":1656758051949}}

content里面是一个json,解析出来,发现里面还有个meetinfo的json数据,然后在我解析的时候,就没怎么注意,就直接想的是默认这俩都是String类型嘛,先拿出来,再解析就是了,于是问题就出在这里,他是一个JsonObject对象,不是String!!


所以在实体类里


data class IMMeetJsonInfo(
     var inviteId:Int?,
     var meetingInfo:JsonObject?
 )

把meetInfo类型改成JsonObject就行了!!!


相关文章
|
2月前
|
SQL 存储 JSON
SQL,解析 json
SQL,解析 json
73 8
|
2月前
|
安全 C语言 C++
【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析
【C++篇】探寻C++ STL之美:从string类的基础到高级操作的全面解析
38 4
|
3月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
3月前
|
JSON API 数据格式
requests库中json参数与data参数使用方法的深入解析
选择 `data`或 `json`取决于你的具体需求,以及服务器端期望接收的数据格式。
244 2
|
3月前
|
JSON 前端开发 JavaScript
解析JSON文件
解析JSON文件
129 9
|
2月前
|
JSON JavaScript API
商品详情数据接口解析返回的JSON数据(API接口整套流程)
商品详情数据接口解析返回的JSON数据是API接口使用中的一个重要环节,它涉及从发送请求到接收并处理响应的整个流程。以下是一个完整的API接口使用流程,包括如何解析返回的JSON数据:
|
3月前
|
自然语言处理 Python
全方位解析 f-string
全方位解析 f-string
29 0
|
3月前
|
Java 索引
java基础(13)String类
本文介绍了Java中String类的多种操作方法,包括字符串拼接、获取长度、去除空格、替换、截取、分割、比较和查找字符等。
40 0
java基础(13)String类
|
2月前
|
Java
【编程基础知识】(讲解+示例实战)方法参数的传递机制(值传递及地址传递)以及String类的对象的不可变性
本文深入探讨了Java中方法参数的传递机制,包括值传递和引用传递的区别,以及String类对象的不可变性。通过详细讲解和示例代码,帮助读者理解参数传递的内部原理,并掌握在实际编程中正确处理参数传递的方法。关键词:Java, 方法参数传递, 值传递, 引用传递, String不可变性。
61 1
【编程基础知识】(讲解+示例实战)方法参数的传递机制(值传递及地址传递)以及String类的对象的不可变性
|
2月前
|
安全 Java 测试技术
Java零基础-StringBuffer 类详解
【10月更文挑战第9天】Java零基础教学篇,手把手实践教学!
36 2

推荐镜像

更多