Jackson 是一個 Java 用來處理 JSON 格式數據的類庫,性能很是好。java
首先建立一個User對象類 (User.java)json
package com.sivalabs.json;
import java.util.Date;
public class User {
private String userId;
private UserName userName;
private Date dob;
@Override
public String toString(){
return "User [dob=" + dob + ", userId=" + userId + ", userName="+ userName + "]"; }
//setters and getters
}
UserName.javaapp
package com.sivalabs.json;
public class UserName {
private String firstname;
private String middlename;
private String lastname;
@Override
public String toString()
{
return "UserName [firstname=" + firstname +
", lastname=" + lastname+
", middlename=" + middlename + "]";
}
//setters and getters
}
[Java]代碼ide
//接下來建立User實例,並生成JSON數據 ObjectMapper mapper = new ObjectMapper();
UserName userName = new UserName();
userName.setFirstname("Katamreddy");
userName.setMiddlename("Siva");
userName.setLastname("PrasadReddy");
User user = new User();
user.setUserId("1");
user.setUserName(userName);
user.setDob(new Date());
Writer strWriter = new StringWriter();
mapper.writeValue(strWriter, user);
String userDataJSON = strWriter.toString();
System.out.println(userDataJSON);
執行結果性能
{
"userId":"1",
"userName":
{
"firstname":"Katamreddy",
"middlename":"Siva",
"lastname":"PrasadReddy"
},
"dob":1300878089906
}
接下來進行JSON到Java對象的轉換spa
String userDataJSON =
"{\"userId\":\"100\",\"userName\":{\"firstname\":\"K\""+
",\"middlename\":\"Siva\",\"lastname\":\"Prasad\"},\"dob\":1300878089906}";
User userFromJSON = mapper.readValue(userDataJSON, User.class);
System.out.println(userFromJSON);
時間的格式化處理orm
DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy");
SerializationConfig serConfig = mapper.getSerializationConfig();
serConfig.setDateFormat(dateFormat);
DeserializationConfig deserializationConfig = mapper.getDeserializationConfig();
deserializationConfig.setDateFormat(dateFormat);
mapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
[Java]代碼對象
//從文件中讀取JSON數據
User user = mapper.readValue(new File("user.json"), User.class);