Android GSON 解析 JSON

参考:http://blog.isming.me/2014/06/04/parse-json-in-android/
另外这几篇文章讲的也都不错:
https://yq.aliyun.com/articles/37104
http://qingbob.com/be-careful-with-character-escape-in-stringify-json/

假如有以下几个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<Integer> ages = gson.fromJson(json2, new TypeToken<List<Integer>>(){}.getType);
第三个json字符串 json3的解析

第三个同样可以解析成List或者数组,我们就直接解析成List.

Gson gson = new Gson();
List<People> peoples = gson.fromJson(json3, new TypeToke<List<People>>(){}.getType);

需要注意的是如果对应的键值和成员名称不同的话可以使用注解来标记。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容