Gson使用google的JsonReader读取Json文件并转化成对象
- 使用到的类 Gson
- 在Android Studio中搜索Gson library dependcies 只能使用小写,gson;否则会搜不到;
- JsonReader是使用google的JsonReader,在导入Gson library的时候,已经导入了;
- json文件上的字段,应与你建立的数据库表字段保持一致,否则会出错
-
public class Student { @PrimaryKey @NonNull @ColumnInfo(name = "stu_id") private long stu_id; @NonNull @ColumnInfo(name = "name") private String name; //身份证 @ColumnInfo(name = "ID") private String ID; //性别 0-男 1-女 @ColumnInfo(name = "sex") private int sex; }
- json文件
[ { "stu_id":1000, "ID": "410923198910162546", "name": "张三", "sex":1 }, { "stu_id":1001, "ID": "410923198910162545", "name": "李四", "sex":2 } ]
json文件的字段一定有和Enity一样,否则会报莫名其妙的错误。
-
是因为最后一个字段写错了
-
-
- 使用Type 、TypeToken
- 整体代码
InputStream inputStream = getApplicationContext().getAssets().open("students_file.json"); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); JsonReader jsonReader = new JsonReader(inputStreamReader); Gson gson = new Gson(); Type type = new TypeToken<List<Student>>(){}.getType(); List<Student> mstus=gson.fromJson(jsonReader, type);
Dana.Lee
To:Dana_Lee1016@126.com