Json解析工具类
這篇文章我是懷著無比激動的心情寫得,為啥為啥?因為都要放假了!你們的小心心是不是已經躁動不安了!族長考慮到現在離高速免費通行還有幾個小時,大家也閑來無事,在下就寫點讓小伙伴們打發打發時間!今天我們就看一點通過Gson-2.3.1.jar封裝的工具類!希望有助于你(溫馨提醒:別看的忘了游玩出行的時間哦~~)
?
工具類
?
package com.sunfreeter.util;import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
/**
*
* @author freeter
* @desc Json封裝工具類簡潔版
*/
public class JsonUtil {
? ?/**@author 訂閱號:sunfreeter
? ? * @desc 對象轉Json串
? ? * @param object
? ? * @return
? ? */
? ?public static String toString(Object object){
? ? ? ?String jsonString = new Gson().toJson(object);
? ? ? ?return jsonString;
? ?}
? ?/**@author 訂閱號:sunfreeter
? ? * @desc Json串轉自定義對象
? ? * @param jsonString
? ? * @param object
? ? * @return
? ? */
? ?public static ?<T> T stringToObject(String jsonString,Class<T> object){
? ? ? ? T toObject = new Gson().fromJson(jsonString,object);
? ? ? ?return toObject;
? ?}
? ?public static JsonObject stringToJosnObject(String jsonString){
? ? ? ?JsonParser jsonParser = new JsonParser();
? ? ? ?JsonElement jsonElement = jsonParser.parse(jsonString);
? ? ? ?JsonObject jsonObject = jsonElement.getAsJsonObject();
? ? ? ?return jsonObject;
? ?}
? ?public static String jsonObjectToJsonString(JsonObject jsonObject){
? ? ? ?return jsonObject.toString();
? ?}
}
測試實體類-MyClass
package com.sunfreeter.model;import java.util.List;
/**
*
* @author sunfreeter
* @desc 班級
*/
public class MyClass {
private String code;
private String name;
private List<Student> students;
public String getCode() {
? ?return code;
}
public void setCode(String code) {
? ?this.code = code;
}
public String getName() {
? ?return name;
}
public void setName(String name) {
? ?this.name = name;
}
public List<Student> getStudents() {
? ?return students;
}
public void setStudents(List<Student> students) {
? ?this.students = students;
}
}
測試實體類-Student
package com.sunfreeter.model;/**
*
* @author sunfreeter
* @desc 學生
*/
public class Student {
private String sno;
private String sname;
private int age;
public String getSno() {
? ?return sno;
}
public void setSno(String sno) {
? ?this.sno = sno;
}
public String getSname() {
? ?return sname;
}
public void setSname(String sname) {
? ?this.sname = sname;
}
public int getAge() {
? ?return age;
}
public void setAge(int age) {
? ?this.age = age;
}
}
測試主入口
package com.sunfreeter.app;import java.util.ArrayList;
import java.util.List;
import com.google.gson.JsonObject;
import com.sunfreeter.model.MyClass;
import com.sunfreeter.model.Student;
import com.sunfreeter.util.JsonUtil;
/**
*
* @author 訂閱號:sunfreeter
* @desc 測試主入口
*/
public class Test {
? ?public static void main(String[] args) {
? ? ? ?Student student=new Student();
? ? ? ?student.setSno("s_001");
? ? ? ?student.setSname("張三");
? ? ? ?student.setAge(20);
? ? ? ?Student student1=new Student();
? ? ? ?student1.setSno("s_002");
? ? ? ?student1.setSname("李四");
? ? ? ?student1.setAge(30);
? ? ? ?List<Student> list=new ArrayList<Student>();
? ? ? ?list.add(student);
? ? ? ?list.add(student1);
? ? ? ?MyClass mc=new MyClass();
? ? ? ?mc.setCode("c_0001");
? ? ? ?mc.setName("一年級");
? ? ? ?mc.setStudents(list);
? ? ? ?String ss=JsonUtil.toString(mc);
? ? ? ?System.out.println(ss);
? ? ? ?MyClass myClass = JsonUtil.stringToObject(ss, MyClass.class);
? ? ? ?System.out.println(myClass.getCode());
? ? ? ?JsonObject jsonObject= JsonUtil.stringToJosnObject(ss);
? ? ? ?System.out.println(jsonObject.get("code").getAsString());
? ? ? ?System.out.println(jsonObject.get("students").getAsJsonArray());
? ? ? ?String ddd = JsonUtil.jsonObjectToJsonString(jsonObject);
? ? ? ?System.out.println(ddd);
? ?}
}
轉載于:https://www.cnblogs.com/zhengjinsheng/p/11269647.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: (技能篇)Mysql在linux下的全量
- 下一篇: 日期处理工具类