決議JSON
JSON和xml一樣,是輕量級的資料傳輸工具,可以通過JSON來傳輸物件,
JSON一般泛指的是谷歌的GSON和阿里的fastJson,而在國內,一般用fastJson的居多,
先附上圖來簡單的了解下JSON的格式, 我們先用JAVA代碼創建出一個Book的物件(包含了name和info屬性)

GSON操作
我們先用GSON操作一下名為Person的物件(String name = rat ,int age = 25);
toJson(要轉換的物件)是把物件轉換成JSON格式的字串
而fromJson(要轉的Json字串,需要轉換的物件型別)是將json格式的字串轉換成物件
public static void main(String[] args) {
Person p = new Person("rat",25);
Gson gson = new Gson();
String s = gson.toJson(p);
System.out.println(s); //{"name":"rat","age":25}
Person person = gson.fromJson(s, Person.class);
// 如果沒有Person的物件,可以通過map集合進行保存
Map map = gson.fromJson(s, Map.class);
System.out.println(person.getName());
System.out.println(map.get("age"));
//附上entrySet的操作
Set set = map.entrySet();
for (Object o : set) {
System.out.println(o);
}
System.out.println("========");
//keySet的操作
Set set1 = map.keySet();
for (Object o : set1) {
System.out.println(o+"="+map.get(o));
}
}

FastJson
fastJson和GSON的功能是一樣的,就是將物件轉成JSON格式的字串或者將字串轉換成物件
我們來看fastJson的代碼,其中JSON.toJsonString(物件)是將物件轉換成字串,而Json.parseObject等于GSON的fromJson方法——將字串轉成物件
我們創建了一個Book的物體類(包含了id,name和info屬性)
public static void main(String[] args) {
Book book = new Book(1001, "三國演義", "三個國家互K的故事");
String s = JSON.toJSONString(book);
//{"bookId":1001,"bookName":"三國演義","info":"三個國家互K的故事"}
System.out.println(s);
Book book1 = JSON.parseObject(s, Book.class);
System.out.println(book1.getInfo());
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/267002.html
標籤:其他
