代码演示:
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class JavaJson {
public static void main(String[] args) {
Gson gson = new Gson();
// 1.将javabean转成 json字符串
Book book = new Book(100, "三国");
String strBook = gson.toJson(book);
System.out.println(strBook);
// 2.将json字符串转成 javabean
Book book2 = gson.fromJson(strBook, Book.class);
System.out.println(book2);
// 3.将list对象转成 json字符串
List<Book> bookList = new ArrayList<>();
bookList.add(new Book(200, "宝莲灯"));
bookList.add(new Book(200, "西游记"));
String strBookList = gson.toJson(bookList);
System.out.println(strBookList);
// 4.把json字符串转成 list对象
Type type = new TypeToken<List<Book>>() {
}.getType(); // 返回类型的完整路径
List<Book> booksList2 = gson.fromJson(strBookList, type);
System.out.println(booksList2);
// 5.把map对象转成 json字符串
Map<String, Book> bookMap = new HashMap<>();
bookMap.put("k1", new Book(400, "哈利波特1"));
bookMap.put("k2", new Book(500, "哈利波特2"));
String strBookMap = gson.toJson(bookMap);
System.out.println(strBookMap);
// 6.把json字符串转成 map对象
Map<String, Book> bookMap2 = gson.fromJson(strBookMap, new TypeToken<Map<String, Book>>() {
}.getType());
System.out.println(bookMap2);
}
}