Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。

首先创建一个User对象类 (User.java)

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.java

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]代码

//接下来创建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对象的转换

String userDataJSON = 

"{\"userId\":\"100\",\"userName\":{\"firstname\":\"K\""+

",\"middlename\":\"Siva\",\"lastname\":\"Prasad\"},\"dob\":1300878089906}";

User userFromJSON = mapper.readValue(userDataJSON, User.class);

System.out.println(userFromJSON);

时间的格式化处理

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);
    </div>

用 Jackson 来处理 JSON的更多相关文章

  1. 用jackson包实现json、对象、Map之间的转换

    jackson API的使用 用jackson包实现json.对象.Map之间的转换

  2. jackson实体转json时 为NULL不参加序列化的汇总

    首先加入依赖 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson ...

  3. 使用jackson美化输出json/xml

    转载:http://www.cnblogs.com/xiwang/ 如何使用jackson美化输出json/xml 1.美化POJO序列化xml 下面将POJO列化为xml并打印. Person pe ...

  4. 如何使用jackson美化输出json/xml

    如何使用jackson美化输出json/xml 1.美化POJO序列化xml 下面将POJO列化为xml并打印. Person person = new Person(); //设置person属性 ...

  5. Jackson 对象与json数据互转工具类JacksonUtil

    1,User对象 package com.st.json; import java.util.Date; /** * @Description: JSON序列化和反序列化使用的User类 * @aut ...

  6. jackson解析处理JSON

    package com.ruoyi.common.json; import java.io.File; import java.io.IOException; import java.io.Input ...

  7. Jackson轻易转换JSON

    原文http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html Jackson可以轻松的将Java对象转换成json对象和xml文档,同样 ...

  8. 用jackson封装的JSON工具类

    package hjp.smart4j.framework.util; import com.fasterxml.jackson.databind.ObjectMapper; import org.s ...

  9. Jackson如何使JSON输出变得优雅?

    本篇文章翻译自:How to enable pretty print JSON output (Jackson) 在这篇文章中,我们将教你如何利用Jackson Library在控制台或者JSP页面优 ...

  10. Jackson 高性能的JSON处理 ObjectMapper

    http://blog.csdn.net/wangyang2698341/article/details/8223929 今天自行研究了下json ,感觉非常好用,经过测试比google的GSON快多 ...

随机推荐

  1. html与css入门经典视频教程 千锋说要这样学

    PHP初学者看过来,老师带来的PHP入门经典视频教程,带你轻松入门,学习PHP就是这么简单. 很多人不理解为什么学习PHP要先学习HTML基础和CSS,其实PHP作为服务器的脚本语言,在开发过程中用于 ...

  2. 中国剩余定理&Lucas定理&按位与——hdu 5446

    链接: hdu 5446 http://acm.hdu.edu.cn/showproblem.php?pid=5446 题意: 给你三个数$n, m, k$ 第二行是$k$个数,$p_1,p_2,p_ ...

  3. mac上使用命令行显示隐藏文件

    终端中输入命令 打开<终端> - 粘贴下面的两行命令执行 defaults write com.apple.finder AppleShowAllFiles TRUEkillall Fin ...

  4. Ace 在HTML中使用方法

    <!DOCTYPE html> <html> <head> <title>Demo of ACE Editor</title> <!- ...

  5. 转 在Qt中用QAxObject来操作Excel

    最近写程序中需要将数据输出保存到Excel文件中.翻看<C++ GUI Programming with Qt 4>(Second Edition)发现可以在Qt中运用ActiveX控件, ...

  6. k sum(lintcode)

    没通过的代码: class Solution { public: /* * @param A: An integer array * @param k: A positive integer (k & ...

  7. EMVS: Event-based Multi-View Stereo 阅读笔记

    0. 摘要 EMVS目的:从已知轨迹的event相机,估计半稠密的3D结构 传统的MVS算法目的:从已知视点的图片集,去估计场景的稠密3D结构. EMVS2个固有属性: (1)   当传感器发生相对运 ...

  8. selenium-元素的定位

    前戏 元素的定位是自动化测试的核心,要想操作一个元素,首先应该识别这个元素.Webdriver 提供了一系列的元素定位方法,常用的有 id,name,class name,link text,part ...

  9. CVE-2010-3333

    环境 windows xp sp3 office 2003 sp0 windbg ollydbg vmware 12.0 0x00 RTF格式 RTF是Rich TextFormat的缩写,意即富文本 ...

  10. javascript(函数式编程思考) ---> Map-Filter-quicksort-Collatz序列-Flodl-Flodr

    let add = x=>x+1; //Map :: ( a -> b) -> [a] -> [b] let Map = function(f,arr){ //闭包存储累积对象 ...