Android|Android GSON 解析 JSON
参考:http://blog.isming.me/2014/06/04/parse-json-in-android/假如有以下几个json字符串
另外这几篇文章讲的也都不错:
https://yq.aliyun.com/articles/37104
http://qingbob.com/be-careful-with-character-escape-in-stringify-json/
{"name":"sam","age":18,"weight":60} //json1 一个json对象
[12,13,15]//json2 一个数字数组
[{"name":"sam","age":18},{"name":"leo","age":19},{"name":"sky", "age":20}] //json3 json array中有object
第一个json字符串 json1的解析 1.构建实体类
public class People{
public String name;
@SerializedName(age)
pubic int mAge;
//如果我们类中成员的名称和json对象中的键名不同,可以通过注解来设置名字
public int weight;
}
2.解析
Gson gson = new Gson();
Poeple people = gson.fromJson(json1, People.class);
第二个json字符串 json2的解析 对于第二个json2,我们可以解析成int数组,也可以解析成Integer的List。
解析成数组:
Gson gson = new Gson();
int[] ages = gson.fromJson(json2, int[].class);
解析成List:
Gson gson = new Gson();
List ages = gson.fromJson(json2, new TypeToken>(){}.getType);
第三个json字符串 json3的解析 【Android|Android GSON 解析 JSON】第三个同样可以解析成List或者数组,我们就直接解析成List.
Gson gson = new Gson();
List peoples = gson.fromJson(json3, new TypeToke(){}.getType);
需要注意的是如果对应的键值和成员名称不同的话可以使用注解来标记。
推荐阅读
- android第三方框架(五)ButterKnife
- Android中的AES加密-下
- 带有Hilt的Android上的依赖注入
- android|android studio中ndk的使用
- Android事件传递源码分析
- RxJava|RxJava 在Android项目中的使用(一)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 深入理解|深入理解 Android 9.0 Crash 机制(二)
- android防止连续点击的简单实现(kotlin)
- Android|Android install 多个设备时指定设备