對象序列化成JSON格式

json是一種輕量級的數據交換語言,將對象序列化爲json格式,可以在網絡上傳輸,且各個平臺都有成熟的工具,可以很快的將json反序列化爲對應語言所需要的格式。

將java對象序列化爲json格式關鍵代碼如下:

Person person = new Person();
person.setName("zhangsan");
person.setBirth(new Date());
person.setAge(18);
	
//JSON對象序列化
String jsonPerson = null;
ObjectMapper objectMapper = new ObjectMapper();
StringWriter stringWriter = new StringWriter();
JsonGenerator createJsonGenerator = new JsonFactory().createJsonGenerator(stringWriter);
objectMapper.writeValue(stringWriter, person);
createJsonGenerator.close();
jsonPerson = stringWriter.toString();

打印結果:

{"name":"zhangsan","age":18,"birth":1504335725150}

這裏需要引入maven依賴

<dependency>
	<groupId>org.codehaus.jackson</groupId>
	<artifactId>jackson-mapper-asl</artifactId>
	<version>1.9.13</version>
</dependency>

需要使用工具包中的ObjectMapper 類,傳入JsonGenerator 對象,將person對象序列化爲json格式。
通過該工具包同樣可以將json串反序列化爲java對象,代碼如下:

Person readValue = objectMapper.readValue(jsonPerson, Person.class);

只需要傳入json串和Person類的class,就可以將json串反序列化爲person對象。
還有一種方法是:

KeyValueVO message = new KeyValueVO();
message.setKey("111");
message.setValue("222");
String jsonString = JSON.toJSONString(message);
JSONObject parseObject = JSONObject.parseObject(jsonString);
System.out.println(parseObject);

需引入maven依賴:

<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>fastjson</artifactId>
		<version>1.2.7</version>
</dependency>
發佈了48 篇原創文章 · 獲贊 15 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章