Gson使用简介说明
									
下文讲述Gson类的简介说明,如下所示:
当然还有很多其他的类库,如:JSON-Java、Gson、Jackson、FastJson
用于解析和生成的方法,fromJson()实现反序列化,toJson()实现序列化
例:
JSON字符串数组
["C","Java","PHP"]
数组示例简介
				 
				Gson简介
Gson是java中操作json数据的一种框架当然还有很多其他的类库,如:JSON-Java、Gson、Jackson、FastJson
Gson的基本用法
Gson类库对外提供fromJson()和toJson()中用于解析和生成的方法,fromJson()实现反序列化,toJson()实现序列化
例:
基本数据类型的解析
Gson gson = new Gson();
int i = gson.fromJson("800", int.class);              //800
double d = gson.fromJson("\"88.88\"", double.class);  //88.88
boolean b = gson.fromJson("true", boolean.class);     // true
String str = gson.fromJson("java265.com", String.class);   // String
基本数据类型的生成
Gson gson = new Gson();
String jsonNumber = gson.toJson(800);       // 800
String jsonBoolean = gson.toJson(false);    // false
String jsonString = gson.toJson("java265.com"); //"String"
POJO类的生成与解析
public class User {
    //省略其它
    public String name;
    public int age;
    public String emailAddress;
}
生成JSON
Gson gson = new Gson();
User user = new User("java265.com",8889);
String jsonObject = gson.toJson(user); // {"name":"java265.com","age":8889}
解析JSON
Gson gson = new Gson();
String jsonString = "{\"name\":\"java265.com\",\"age\":8889}";
User user = gson.fromJson(jsonString, User.class);
属性重命名 @SerializedName 注解的使用
下文是POJO类解析为json字符串的示例分享
 json
{"name":"java265.com","age":8889,"emailAddress":"java265@example.com"}
实际
{"name":"java265.com","age":8889,"email_address":"java265@example.com"}
上面对象的类名可以采用相应的注解定义,如:
 
@SerializedName("email_address")
public String emailAddress;
@SerializedName(value = "emailAddress", alternate = {"email", "email_address"})
public String emailAddress;
当上面的三个属性(email_address、email、emailAddress)都中出现任意一个时均可以得到正确的结果。
注:当多种情况同时出时,以最后一个出现的值为准。
 
Gson中使用泛型
上面了解的JSON中的Number、boolean、Object和String,现在说一下Array。JSON字符串数组
["C","Java","PHP"]
数组示例简介
Gson gson = new Gson(); String jsonArray = "[\"C\",\"Java\",\"PHP\"]"; String[] strings = gson.fromJson(jsonArray, String[].class); ------解析为list----- Gson gson = new Gson(); String jsonArray = "[\"C\",\"Java\",\"PHP\"]"; String[] strings = gson.fromJson(jsonArray, String[].class); List<String> stringList = gson.fromJson(jsonArray, new TypeToken<List<String>>() {}.getType()); 注:TypeToken的构造方法是protected修饰的 所以上面才会写成new TypeToken<List<String>>() {}.getType() 而不是 new TypeToken<List<String>>().getType()
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

			
               
               
               
               
          
