当前位置:   article > 正文

JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY_com.google.gson.jsonsyntaxexception: java.lang.ill

com.google.gson.jsonsyntaxexception: java.lang.illegalstateexception: expect

今天在读取本地【assets文件下的.json】数据并用Gson解析解析时报了以下错误。

Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $

【JsonSyntaxException:Json数据解析异常】
【BEGIN_OBJECT but was BEGIN_ARRAY:期望返回一个对象但是返回了一个数组】

原代码:
在这里插入图片描述
解决办法:


//getJson()是读取.json文件的,数据已经读取到
String strJsonData = getJson( mContext,"bankname.json");
//确保本地bean类封装成集合  用TypeToken转一下
List<BankData.DataBean> data = fromToJson(strJsonData,new TypeToken<List<BankData.DataBean>>(){}.getType());

// An highlighted block
public  <T> T fromToJson(String json, Type listType){
        Gson gson = new Gson();
        T t = null;
        t = gson.fromJson(json,listType);
        return t;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/246363

推荐阅读
相关标签