Java中json的序列化反序列化
阿新 • • 發佈:2020-12-13
技術標籤:程式碼
目前Java常用的Json類庫有3種,即fastjson、jackson,還有gson。這裡列出fastjson和jackson兩種方法
匯入依賴
<!-- fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
<!-- jackson -- >
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
< /dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
實體類
public class User { private int id; private String name; private String password; public User() { super(); } }
主方法
public class TestJson {
public static void main(String[] args) throws Exception {
User user = new User(1,"張三","123456");
System.out.println("-----fastjson-----");
// 將Java物件轉換為json字串
String objectToFastjson = JSON.toJSONString(user);
System.out.println(objectToFastjson);
// 將json反序列化為Java物件
User user1 = JSON.parseObject(objectToFastjson,User.class);
System.out.println(user1);
System.out.println("-----jackson-----");
ObjectMapper objectMapper = new ObjectMapper();
// 將Java物件轉換為json字串
String objectToJackson = objectMapper.writeValueAsString(user);
System.out.println(objectToJackson);
// 將json反序列化為Java物件
User user2 = objectMapper.readValue(objectToJackson, User.class);
System.out.println(user2);
}
}