把類的對象存儲到字符串可存儲
public interface JsonInterface { import com.alibaba.fastjson.JSON; import lombok.Getter; import lombok.Setter; @Setter @Getter public class JsonVo implements JsonInterface { private String id; private String name; public JsonVo(String id, String name) { super(); this.id = id; this.name = name; } @Override public String toString() { return String.format("id:%s |||| name:%s", id, name); } } }
public void test() { JsonInterface tmp = new JsonVo("id1", "name1"); String json = JSON.toJSONString(tmp); System.out.println(json); JsonInterface jsonVo = JSON.parseObject(json, JsonVo.class); System.out.println(jsonVo); System.out.println("--------"); byte[] bytes = JSON.toJSONBytes(tmp); System.out.println(bytes); JsonInterface jsonVo2 = JSON.parseObject(bytes, JsonVo.class); System.out.println(jsonVo2); }
結果
{ "id":"id1","name":"name1" } id:id1 |||| name:name1 -------- [[email protected] id:id1 |||| name:name1
Fastjson是一個Java語言編寫的高性能功能完善的JSON庫。它採用一種「假定有序快速匹配」的算法,把JSON Parse的性能提升到極致,是目前Java語言中最快的JSON庫。Fastjson接口簡單易用,已經被廣泛使用在緩存序列化、協議交互、Web輸出、Android客戶端等多種應用場景
例1
public void test2() { List<Integer> list = new ArrayList<>(); list.add(1); list.add(9); list.add(4); list.add(8); JSONObject jsonObj = new JSONObject(); jsonObj.put("a", list); System.out.println(jsonObj); List<String> list2 = jsonObj.getObject("a", new TypeReference<List<Integer>>(){ } ); System.out.println(list2); }
結果
{"a":[1,9,4,8]} [1, 9, 4, 8]
例2
public void test3() { List<JsonVo> list = new ArrayList<>(); list.add(new JsonVo("id1", "name1")); list.add(new JsonVo("id2", "name2")); list.add(new JsonVo("id3", "name3")); JSONObject jsonObj = new JSONObject(); jsonObj.put("a", list); System.out.println(jsonObj); List<String> list2 = jsonObj.getObject("a", new TypeReference<List<JsonVo>>(){ } ); System.out.println(list2); }
結果
{"a":[{"id":"id1","name":"name1"},{"id":"id2","name":"name2"},{"id":"id3","name":"name3"}]} [id:id1 |||| name:name1, id:id2 |||| name:name2, id:id3 |||| name:name3]
分享免費學習資料
針對於Java程序員,我這邊準備免費的Java架構學習資料(裏面有高可用、高併發、高性能及分佈式、Jvm性能調優、MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)
爲什麼某些人會一直比你優秀,是因爲他本身就很優秀還一直在持續努力變得更優秀,而你是不是還在滿足於現狀內心在竊喜!希望讀到這的您能點個小贊和關注下我,以後還會更新技術乾貨,謝謝您的支持!
資料領取方式:加入Java技術交流羣963944895
,私信管理員即可免費領取