专栏首页向治洪android报错 Expected BEGIN_OBJECT but was STRING at line 1 column 39 path $

android报错 Expected BEGIN_OBJECT but was STRING at line 1 column 39 path $

      我在使用retrofit和Gson配合时,出现了这个问题,疑惑中乱七八糟瞎搞了一个下午没有解决。期间怀疑Gson解析不能使用泛型(因为我的解析使用了泛型),后来又觉得可能是我的关键字正好是解析器的某个关键字导致的异常,也打算过自定义Gson的解析过程,其实这些都不是。

        第二天才搞明白,真正的问题是我的数据结构有问题,或者说我的解析出现了问题。

        例如下面Json字符串:

        {"code":1,"info":"success","results":{"id":"1","name":"hehe"}}

        results对应的应该是一个实体类,如果这个时候想把他解析为String或者List就会出现异常。

        如果参考使用GsonForm处理后的数据模型,几乎不会出现问题;加入result后面的内容可能在请求时会因为某些原因会存在格式上的变化,这个时候就有出现该异常的风险。Gson中,关键字后面出现""引起来的内容将会被只认为是STRING,“{}”只被认为是类,“[]”只被认为是List,这个几乎是强制性的。

        就是说如果你的实体预计是获取String的变量,但是关键字后面对应的却出现了“{”或“[”,那么这个转换将被认为是错误的,抛出异常。

        解决办法:后台输出稳定的Gson格式。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • android 股票K线图

    现在在手上的是一个证券资讯类型的app,其中有涉及到股票行情界面,行情中有K线图等,看到网上很多人在求这方面的资料,所以我特地写了一个demo在此处给大家分享一...

    xiangzhihong
  • 深入理解Android插件化技术

    插件化技术可以说是Android高级工程师所必须具备的技能之一,从2012年插件化概念的提出(Android版本),到2016年插件化的百花争艳,可以说,插件化...

    xiangzhihong
  • Java与js的交互

     在android的开发过程中,有很多时候需要用到本地java代码和javascript进行交互。android对交互进行了很好的封装,在开发中我们可以很简单的...

    xiangzhihong
  • 手把手教你挖掘数据:怎样创造一个“尿布与啤酒”的都市传奇?

    也有很多人对这个“传奇”的真实性表示怀疑,但如今看来,这个传奇已经并不神奇,它只是通过频繁项集进行数据挖掘的一个典型案例而已。

    华章科技
  • 性能测试 -- 服务器参数调整

    1)cpu负载均衡 安装: yum install irqbalance 使用: service irqbalance {start|stop|status|r...

    千往
  • 架构·微服务架构(一)

    微服务架构模式作为替代单体应用和面向服务架构的一个可行的选择,在业内迅速取得进展。由于这个架构模式仍然在不断的发展中,在业界存在很多困惑——这种模式关乎什么?它...

    幺鹿
  • 类方法load和initialize的区别

    Objective-C作为一门面向对象语言,有类和对象的概念。编译后,类相关的数据结构会保留在目标文件中,在运行时得到解析和使用。在应用程序运行起来的时候,类的...

    用户3539187
  • 春节充电系列:李宏毅2017机器学习课程学习笔记03之梯度下降

    【导读】我们在上一节的内容中已经为大家介绍了台大李宏毅老师的机器学习课程的regression问题,其中简要提及了梯度下降(gradient descent),...

    WZEARW
  • 8.1 VR扫描:Steam 7月数据:Rift连续6个月最大份额,Vive Pro连续四个月增长

    近日,深圳增强现实技术有限公司(0glass)宣布完成数千万B轮融资,本轮投资由清研新一代人工智能基金(珠海、嘉善)、永柏领中资本领投,第十区VRAR孵化基金跟...

    VRPinea
  • 【DB笔试面试441】事务的持久性是指?()

    事务有4个特性,一般都称之为ACID特性,简单记为原一隔持(谐音:愿意各吃,即愿意各吃各的),如下表所示:

    小麦苗DBA宝典

扫码关注云+社区

领取腾讯云代金券