javascript
用Jackson进行Java JSON处理
讓我們看看如何使用Jackson Java JSON Processor將Java對象轉換為JSON,反之亦然。 我們可以從Jackson下載頁面下載jackson-all-1.6.4.jar。
進行編組和解組的關鍵類是org.codehaus.jackson.map.ObjectMapper 。
讓我們創建一個User java bean,如下所示:
package com.sivalabs.json; import java.util.Date;public class User {private String userId;private UserName userName;private Date dob;@Overridepublic String toString(){return "User [dob=" + dob + ", userId=" + userId + ", userName="+ userName + "]";}//setters and getters}package com.sivalabs.json; public class UserName {private String firstname;private String middlename;private String lastname;@Overridepublic String toString(){return "UserName [firstname=" + firstname + ", lastname=" + lastname+ ", middlename=" + middlename + "]";}//setters and getters }現在讓我們創建一個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);這將以JSON格式將用戶數據打印為:
{
“ userId”:“ 1”,
“用戶名”: { “名字”:“ Katamreddy”, “中間名”:“ Siva”, “姓氏”:“ PrasadReddy” }, “ dob”:1300878089906 }
現在,讓我們將json格式的以下用戶數據編組為User Object:
{
“ userId”:“ 100”,
“用戶名”: { “ firstname”:“ K”, “中間名”:“ Siva”, “ lastname”:“ Prasad” }, “ dob”:1300878089906 }
這會將User對象打印為:
用戶[dob = 3月23日星期三16:31:29 IST 2011,userId = 100,userName = UserName [firstname = K,lastname = Prasad,middlename = Siva]]
日期值被編組為時間戳,這是默認行為。 如果需要,可以如下更改DateFormat:
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);然后,用戶JSON將為:
{
“ userId”:“ 1”,“ userName”:
{ “名字”:“ Katamreddy”, “中間名”:“ Siva”, “姓氏”:“ PrasadReddy” }, “ dob”:“ 2011年3月23日” }
我們還可以將Java對象作為json編組為文件,如下所示:
mapper.writeValue(new File("user.json"), user);這將創建文件user.json為:
{
“ userId”:“ 100”,
“用戶名”: { “ firstname”:“ K”, “中間名”:“ Siva”, “ lastname”:“ Prasad” }, “ dob”:1300878089906 }
我們可以從user,json構建User對象,如下所示:
User user = mapper.readValue(new File("user.json"), User.class);參考:來自我們JCG合作伙伴Siva Prasad Reddy的 使用Jackson Java JSON Processor的JSON處理 。
相關文章:
- 使用Gson教程進行Android JSON解析
- 將JSON功能添加到您的GWT應用程序中
- Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服務-Eclipse和Maven項目
- Spring3 RESTful Web服務
翻譯自: https://www.javacodegeeks.com/2011/03/java-json-processing-jackson.html
總結
以上是生活随笔為你收集整理的用Jackson进行Java JSON处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hibernate映射集合性能问题
- 下一篇: 将JSON功能添加到您的GWT应用程序中