[代码] 首先创建一个User对象类 (User.java)
01
package com.sivalabs.json;
02
03
import java.util.Date;
04
05
public class User {
06
 private String userId;
07
 private UserName userName;
08
 private Date dob;
09
10
 @Override
11
 public String toString(){
12
  return "User [dob=" + dob + ", userId=" + userId + ", userName="+ userName + "]";
13
 }
14
 //setters and getters
15
16
}
[代码] UserName.java
01
package com.sivalabs.json;
02
03
public class UserName {
04
 private String firstname;
05
 private String middlename;
06
 private String lastname;
07
08
 @Override
09
 public String toString()
10
 {
11
  return "UserName [firstname=" + firstname +
12
  ", lastname=" + lastname+
13
  ", middlename=" + middlename + "]";
14
 }
15
 //setters and getters
16
}
[代码] [Java]代码
01
//接下来创建User实例,并生成JSON数据
02
03
ObjectMapper mapper = new ObjectMapper();
04
05
UserName userName = new UserName();
06
userName.setFirstname("Katamreddy");
07
userName.setMiddlename("Siva");
08
userName.setLastname("PrasadReddy");
09
10
User user = new User();
11
user.setUserId("1");
12
user.setUserName(userName);
13
user.setDob(new Date());
14
15
Writer strWriter = new StringWriter();
16
mapper.writeValue(strWriter, user);
17
String userDataJSON = strWriter.toString();
18
System.out.println(userDataJSON);
[代码] 执行结果
view sourceprint?
01
{
02
"userId":"1",
03
"userName":
04
{
05
"firstname":"Katamreddy",
06
"middlename":"Siva",
07
"lastname":"PrasadReddy"
08
},
09
"dob":1300878089906
10
}
[代码] 接下来进行JSON到Java对象的转换
1
String userDataJSON =
2
"{\"userId\":\"100\",\"userName\":{\"firstname\":\"K\""+
3
",\"middlename\":\"Siva\",\"lastname\":\"Prasad\"},\"dob\":1300878089906}";
4
User userFromJSON = mapper.readValue(userDataJSON, User.class);
5
System.out.println(userFromJSON);
[代码] 时间的格式化处理
1
DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy");
2
SerializationConfig serConfig = mapper.getSerializationConfig();
3
serConfig.setDateFormat(dateFormat);
4
DeserializationConfig deserializationConfig = mapper.getDeserializationConfig();
5
deserializationConfig.setDateFormat(dateFormat);
6
mapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
[代码] [Java]代码
1
//从文件中读取JSON数据
2
User user = mapper.readValue(new File("user.json"), User.class);