1.com.google.gson.Gson用法
toJson(Object obj)方法:將對象obj序列化,轉化為Json格式的字符串;
fromJson(String json, Class<T> classOfT)方法:反序列化,將Json格式的字符串轉為指定類型的對象;
示例:
import com.google.gson.Gson; public class GSONTest { public static void main(String[] args) { Gson gson = new Gson(); //{"id":1001", "name":"JSON ", "description":"JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式"};
String json = "{\"id\":\"1001\", \"name\":\"JSON \", \"description\":\"JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式\"}"; Book book = gson.fromJson(json, Book.class);//將 json 格式的字符串轉變為Book類對象
System.out.println(book); System.out.println(gson.toJson(book));//將Book類對象轉變為 json 字符串
} static class Book { private String id; private String name; private String description; public Book(String id, String name, String description) { this.id = id; this.name = name; this.description = description; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } @Override public String toString() { return "Book{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", description='" + description + '\'' +
'}'; } } }
運行結果如圖:
2.com.alibaba.fastjson.JSON用法
fastJson對於json格式字符串的解析常用的有三個類:
JSON:fastJson的入口類
JSONObject:fastJson提供的json對象,繼承JSON。
JSONArray:用於解析json數組,繼承JSON。
主要方法:
parseObject(String text, Class<T> clazz) 方法:將json格式字符串轉化為指定類的對象
parseArray(String text, Class<T> clazz) 方法:將json格式字符串轉化為指定類型的ArrayList集合
toJSONString(Object object) 方法:將對象序列化,轉化為json格式字符串
示例:
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.List; public class FastJsonTest { public static void main(String[] args) { String json = "{\"id\":\"1001\", \"name\":\"JSON \", \"description\":\"JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式\"}"; Book book = JSON.parseObject(json, Book.class); System.out.println(book); System.out.println(JSON.toJSONString(book)); Book book1 = JSONObject.parseObject(json, Book.class); System.out.println(book1); System.out.println(JSONObject.toJSONString(book1)); //"["a","b","c","d","e"]";
String jsonArr = "[\"a\",\"b\",\"c\",\"d\",\"e\"]"; List<String> jsonArray = JSONArray.parseArray(jsonArr, String.class); System.out.println(jsonArray); System.out.println(JSONArray.toJSONString(jsonArray)); } static class Book { private String id; private String name; private String description; public Book(String id, String name, String description) { this.id = id; this.name = name; this.description = description; } public Book() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } @Override public String toString() { return "Book{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", description='" + description + '\'' +
'}'; } } }
運行結果如圖: