假如有以下几个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的解析
第三个同样可以解析成List或者数组,我们就直接解析成List.
Gson gson = new Gson();
List peoples = gson.fromJson(json3, new TypeToke>(){}.getType);
需要注意的是如果对应的键值和成员名称不同的话可以使用注解来标记。
本文介绍了如何使用Java的Gson库解析不同类型的JSON字符串。对于json1,创建了People实体类并使用注解映射字段。对于json2,展示了将其解析为int数组和Integer List的方法。对于json3,同样解析为List。当键值不匹配时,可通过注解调整。
2003

被折叠的 条评论
为什么被折叠?



