总共4行代码使用fastxml.json实现Java对象的序列化和反序列化
生活随笔
收集整理的這篇文章主要介紹了
总共4行代码使用fastxml.json实现Java对象的序列化和反序列化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
直接上代碼。非常簡單的測試類:
package com.sap.argame.util;public class Person{private String name;private int age;public Person() {}public Person(String name, int age) {this.name = name;this.age = age;}public String getName() {return this.name;}public int getAge() {return this.age;} }Java對象轉Json字符串:
就兩行代碼:
import com.fasterxml.jackson.databind.ObjectMapper;public static String toJson(Object object) throws JsonProcessingException {ObjectMapper mapper = new ObjectMapper();return mapper.writeValueAsString(object);}Json字符串轉Java對象:
public static <T> T fromJson(String json, Class<T> clazz) throws IOException {ObjectMapper mapper = new ObjectMapper();return mapper.readValue(json, clazz);}測試代碼:
Person jerry = new Person("Jerry", 36);String json = null;try {json = toJson(jerry);} catch (JsonProcessingException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println(json);Person another = null;try {another = (Person)fromJson(json, Person.class);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("Name: " + another.getName() + " age: " + another.getAge());System.out.println(jerry == another);最后的jerry和another實例的比較會得到期望的false,這也是通過序列化/反序列化攻擊單例模式實現的例子。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的总共4行代码使用fastxml.json实现Java对象的序列化和反序列化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python界面是怎样的
- 下一篇: 微信公众号开发之服务器接入指南之Java