做什么? 將Java中的對象 快速的轉換為 JSON格式的字符串. 將JSON格式的字符串, 轉換為Java的對象.
一.GSON解析Json
1.將對象轉換為JSON字符串
轉換JSON字符串的步驟:
①引入JAR包
②在需要轉換JSON字符串的位置編寫如下代碼即可: String json = new Gson().toJSON(要轉換的對象);
1 import com.google.gson.Gson; 2 3 public class JsonDemo1 { 4 public static void main(String[] args) { 5 //1.創建gson對象 6 Gson g=new Gson(); 7 //2.轉換 8 Book b=new Book("1001","百年孤獨","人生感悟"); 9 String s=g.toJson(b); 10 System.out.println(s); 11 } 12 13 }
①引入JAR包
②在需要轉換Java對象的位置, 編寫如下代碼: 對象 = new Gson().fromJson(JSON字符串,對象類型.class);
1 import com.google.gson.Gson; 2 //將Json字符串轉換為對象 3 public class JsonDemo2 { 4 public static void main(String[] args) { 5 //1.創建gson對象 6 Gson g=new Gson(); 7 //2.轉換 {"id":"百年孤獨","name":"1001","info":"人生感悟"} 8 Book book = g.fromJson("{\"id\":\"百年孤獨\",\"name\":\"1001\",\"info\":\"人生感悟\"}", Book.class); 9 System.out.println(book.getId()); 10 } 11 12 }
輸出
3.將JSON字符串轉換為對象集合
1 import java.util.HashMap; 2 3 //將Json字符串轉換為對象 4 public class JsonDemo2 { 5 public static void main(String[] args) { 6 //1.創建gson對象 7 Gson g=new Gson(); 8 HashMap data = g.fromJson("{\"id\":\"百年孤獨\",\"name\":\"1001\",\"info\":\"人生感悟\"}", HashMap.class); 9 System.out.println(data.get("id")); 10 } 11 }
輸出
對象中的數組部分被轉換為Arraylist
1 import java.util.HashMap; 2 3 //將Json字符串轉換為對象 4 public class JsonDemo2 { 5 public static void main(String[] args) { 6 //1.創建gson對象 7 Gson g=new Gson(); 8 HashMap data = g.fromJson(" {\"id\":\"百年孤獨\",\"name\":\"1001\",\"info\":\"人生感悟\",\"經典名句\":[\"生命中曾經有過的所有燦爛\",\"原來終究\",\"都需要用寂寞來償還\"]}", HashMap.class); 9 System.out.println(data.get("經典名句")); 10 System.out.println(data.get("經典名句").getClass()); 11 } 12 }
輸出
取出list中的內容
1 import com.google.gson.Gson; 2 3 import java.util.HashMap; 4 import java.util.List; 5 6 //將Json字符串轉換為對象 7 public class JsonDemo2 { 8 public static void main(String[] args) { 9 //1.創建gson對象 10 Gson g=new Gson(); 11 HashMap data = g.fromJson(" {\"id\":\"百年孤獨\",\"name\":\"1001\",\"info\":\"人生感悟\",\"經典名句\":[\"生命中曾經有過的所有燦爛\",\"原來終究\",\"都需要用寂寞來償還\"]}", HashMap.class); 12 List page=(List) data.get("經典名句"); 13 System.out.println(page.get(0)); 14 } 15 }
輸出
1.將JSON字符串轉換為對象
-
引入JAR包
-
在需要轉換Java對象的位置, 編寫如下代碼:類型 對象名=JSON.parseObject(JSON字符串, 類型.class);或List<類型> list=JSON.parseArray(JSON字符串,類型.class);
1 import com.alibaba.fastjson.JSON; 2 3 public class JsonDemo { 4 public static void main(String[] args) { 5 //1.轉換 {"id":"1002","name":"百年孤獨","info":"生命中曾經有過的所有燦爛,原來終究,都需要用寂寞來償還"} 6 Book book = JSON.parseObject(" {\"id\":\"1002\",\"name\":\"百年孤獨\",\"info\":\"生命中曾經有過的所有燦爛,原來終究,都需要用寂寞來償還\"}", Book.class); 7 System.out.println(book.getInfo()); 8 } 9 }
輸出
1 import com.alibaba.fastjson.JSON; 2 3 import java.util.List; 4 5 public class JsonDemo { 6 public static void main(String[] args) { 7 //["一二三","三四五","四五六"] 8 List<String> data=JSON.parseArray("[\"一二三\",\"三四五\",\"四五六\"]",String.class); 9 System.out.println(data.get(1)); 10 } 11 }
輸出
轉換JSON字符串的步驟:
-
引入JAR包
-
在需要轉換JSON字符串的位置編寫如下代碼即可:String json=JSON.toJSONString(要轉換的對象);
1 import com.alibaba.fastjson.JSON; 2 3 import java.util.List; 4 5 public class JsonDemo { 6 public static void main(String[] args) { 7 Book b=new Book("1001","百年孤獨","人生感悟"); 8 String json= JSON.toJSONString(b); 9 System.out.println(json); 10 } 11 }
-