JSON解析


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 + '\'' +
                    '}'; } } }

運行結果如圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM