解析JSON-java與JSON
阿新 • • 發佈:2020-12-21
使用Java解析JSON
文章概述:
正所謂解析,就是將我們獲取到的JSON字串轉換為易於操作的Java物件,或者是將Java物件轉換為JSON格式的字串。在講解如何解析的操作之前呢,先了解以下什麼JSON,瞭解完畢後再進行相關的操作吧。
JSON:(Java Script Object Notaion) 也成為JS物件簡譜,脫離於程式語言,是一種輕量級的資料交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規範)的一個子集,採用完全獨立於程式語言的文字格式來儲存和表示資料。簡潔和清晰的層次結構使得 JSON 成為理想的資料交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網路傳輸效率。(-來自百度百科),順便了解一下另一種常見的資料交換格式(XML)。
關於XML與JSON的優缺點比較。https://blog.csdn.net/qq_34102108/article/details/51359947
JSON解析
方式一:Gson
首先要匯入jar包,沒有jar包的小夥伴可以百度去官網下載哦。
利用Gson的toJson方法
public static void main(String[] args){
//1. 建立Gson物件
Gson g =new Gson();
//2. 轉換
Book b = new Book(1,"金蘋果","種植金蘋果的過程");
String s = g.toJson(b);
System.out.println(s);
}
Book類
public class Book{
private Integer id;
private String name;
private String info;
public Book(Integer id, String name, String info) {
this.id = id;
this.name = name;
this.info = info;
}
@Override
public String toString() {
return "Book{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", info='" + info + '\'' +
'}';
}
//為了節約筆墨get&set方法就不再搬運了
控制檯列印結果
2.將JSON字串轉換為java物件
利用Gson的fromJson方法
public static void main(String[] args) {
//1. 建立Gson物件
Gson g =new Gson();
//2. 轉換 {"id":"1","name":"金蘋果","info":"種植金蘋果的過程"}
Book b = g.fromJson("{\"id\":\"1\",\"name\":\"金蘋果\",\"info\":\"種植金蘋果的過程\"}",Book.class);
System.out.println(b.toString());
}
控制檯列印
方式二:通過fastjson
也要匯入jar包,沒有jar包的小夥伴可以百度去官網下載哦。
1.java物件轉換為JSON字串
通過JSON.toJSONString(Object object)方法傳入需要轉換的物件。
public static void main(String[] args) {
Book book = new Book(2,"唐詩三百首","床前明月光,疑是地上霜");
// 1. 轉換
String json = JSON.toJSONString(book);
System.out.println(json);
}
控制檯列印
2.將JSON字串轉換為java物件
通過JSON.parseObject(String string,Class clazz)
public static void main(String[] args) {
//{"id":"2","info":"床前明月光,疑是地上霜","name":"唐詩三百首"}
// 1. 轉換 json字串轉化為物件
Book book = JSON.parseObject("{\"id\":\"2\",\"info\":\"床前明月光,疑是地上霜\",\"name\":\"唐詩三百首\"}", Book.class);
System.out.println(book.toString);
}
控制檯列印:
我們分別通過Gson和fastjson完成了JSON解析。