Gson使用google的JsonReader读取Json文件并转化成对象
Posted endian11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 } ]
-
- 使用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);
以上是关于Gson使用google的JsonReader读取Json文件并转化成对象的主要内容,如果未能解决你的问题,请参考以下文章
Retrofit com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept
使用 GSON 的 JsonReader 流式传输 Json 文件时,您可以将对象转储为字符串吗?
我如何查看从 GSON JsonReader 收到了多少字节