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

简介: 今天解析后端数据时,发现了这个报错: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就行了!!!


相关文章
|
7月前
|
数据采集 监控 API
告别手动埋点!Android 无侵入式数据采集方案深度解析
传统的Android应用监控方案需要开发者在代码中手动添加埋点,不仅侵入性强、工作量大,还难以维护。本文深入探讨了基于字节码插桩技术的无侵入式数据采集方案,通过Gradle插件 + AGP API + ASM的技术组合,实现对应用性能、用户行为、网络请求等全方位监控,真正做到零侵入、易集成、高稳定。
862 87
|
8月前
|
JSON 缓存 自然语言处理
多语言实时数据微店商品详情API:技术实现与JSON数据解析指南
通过以上技术实现与解析指南,开发者可高效构建支持多语言的实时商品详情系统,满足全球化电商场景需求。
|
10月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
9月前
|
JSON 算法 API
淘宝商品评论API接口核心解析,json数据返回
淘宝商品评论API是淘宝开放平台提供的数据服务接口,允许开发者通过编程方式获取指定商品的用户评价数据,包括文字、图片、视频评论及评分等。其核心价值在于:
|
7月前
|
JSON Java Go
【GoGin】(2)数据解析和绑定:结构体分析,包括JSON解析、form解析、URL解析,区分绑定的Bind方法
bind或bindXXX函数(后文中我们统一都叫bind函数)的作用就是将,以方便后续业务逻辑的处理。
450 3
|
11月前
|
JSON 定位技术 PHP
PHP技巧:解析JSON及提取数据
这就是在PHP世界里探索JSON数据的艺术。这场狩猎不仅仅是为了获得数据,而是一种透彻理解数据结构的行动,让数据在你的编码海洋中畅游。通过这次冒险,你已经掌握了打开数据宝箱的钥匙。紧握它,让你在编程世界中随心所欲地航行。
318 67
|
7月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
1021 0
|
8月前
|
JSON 自然语言处理 API
多语言实时数据淘宝商品评论API:技术实现与JSON数据解析指南
淘宝商品评论多语言实时采集需结合官方API与后处理技术实现。建议优先通过地域站点适配获取本地化评论,辅以机器翻译完成多语言转换。在合规前提下,企业可构建多语言评论数据库,支撑全球化市场分析与产品优化。
|
11月前
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
472 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
|
SQL 安全 数据格式
PEP 750 t-string 深度解析:与 f-string 的差异与进化
Python 3.14 即将引入的 t-string(模板字符串)是字符串处理的重大革新。作为 f-string 的继任者,t-string 通过延迟渲染机制重新定义了字符串模板处理方式。本文从核心机制(即时求值 vs 延迟渲染)、技术特性(语法到语义进化)、应用场景(安全敏感场景、复杂模板系统等)及性能兼容性等方面深入解析,展示其在安全框架、代码生成等领域的广阔前景。开发者可根据需求选择 f-string 或 t-string,实现更高效、可控的字符串处理。
424 13