Gson是Google開發的一個Java庫,用于將Java對象轉換為JSON格式的數據,也可將JSON格式的數據轉換為Java對象。
Gson的優點是速度快、使用簡單、支持泛型、線程安全,適用于轉換復雜的JSON數據。
// 創建Gson對象 Gson gson = new Gson(); // 將Java對象轉換為Json字符串 User user = new User("Tom", 18); String userJson = gson.toJson(user); // {"name":"Tom","age":18} // 將Json字符串轉換為Java對象 String bookJson = "{\"name\":\"《Java從入門到精通》\",\"price\":\"60.00\"}"; Book book = gson.fromJson(bookJson, Book.class); System.out.println(book.getName()); // "《Java從入門到精通》" System.out.println(book.getPrice()); // "60.00"
在轉換Java對象為JSON字符串時,需要保證Java對象的屬性名與JSON的鍵名相同,否則需要使用@SerializedName注解標識。
public class User { @SerializedName("USERNAME") private String name; @SerializedName("AGE") private int age; public User(String name, int age) { this.name = name; this.age = age; } // getter and setter ... } User user = new User("Tom", 18); String userJson = gson.toJson(user); // {"USERNAME":"Tom","AGE":18}
在解析JSON字符串時,如果JSON中的鍵名與Java對象的屬性名不同,也需要使用@SerializedName注解標識。
public class Book { @SerializedName("BOOKNAME") private String name; @SerializedName("PRICE") private BigDecimal price; // getter and setter ... } String bookJson = "{\"BOOKNAME\":\"《Java從入門到精通》\",\"PRICE\":\"60.00\"}"; Book book = gson.fromJson(bookJson, Book.class);
總之,使用Gson進行JSON數據的轉換,可以方便、高效地將Java對象與JSON數據互相轉換,是Java開發中不可或缺的工具之一。
上一篇python 循環異常后
下一篇mysql出生年份怎么算