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. block总结

    3.编译器中的block 3.1 block的数据结构定义 我们通过大师文章中的一张图来说明: 上图这个结构是在栈中的结构,我们来看看对应的结构体定义: 1 2 3 4 5 6 7 8 9 10 11 ...

  2. 把apk文件拖到re-sign.jar运行打开的界面找不到指定文件

    下载一个zipalign.exe放到tools目录下面就可以了 点击下载

  3. 判断一个链表是否为回文结构 【题目】 给定一个链表的头节点head,请判断该链表是否为回 文结构。 例如: 1->2->1,返回true。 1->2->2->1,返回true。 15->6->15,返回true。 1->2->3,返回false。 进阶: 如果链表长度为N,时间复杂度达到O(N),额外空间复杂 度达到O(1)。

    方式1:借助栈 空间辅助度是O(N) 方式2: 借助栈 空间复杂度是 O(n/2).只存后半个链表 方式3: 反转后半个链表  最后再反转回来 package my_basic.class_3; im ...

  4. nodeJS进程管理器pm2

    pm2是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的. PM2是开源的基于Nodejs的进程管 ...

  5. SSI的实例(登录增删改查)

    源码下载:http://download.csdn.net/detail/u011518709/8195143 主要jar包: 配置文件:web.xml <?xml version=" ...

  6. 科普NDIS封包过滤

    闲言:    这个月一直在学习NDIS驱动编程,杂七杂八的资料都看个遍了,做了点笔记,捋捋思路,发上来备忘.    Ps:只是小菜的一点学习笔记,没什么技术含量,不过版主如果觉得对大家稍微有点帮助的话 ...

  7. JS任意文件转base64

    <!doctype html><html><head><meta charset="utf-8"><meta name=&qu ...

  8. 【数位dp】bzoj3209: 花神的数论题

    Description 背景众所周知,花神多年来凭借无边的神力狂虐各大 OJ.OI.CF.TC …… 当然也包括 CH 啦.描述话说花神这天又来讲课了.课后照例有超级难的神题啦…… 我等蒟蒻又遭殃了. ...

  9. Django项目部署:使用uwsgi和nginx的方式

    一.背景 前两天制作的个人博客网站基本完工,大致功能具备.但是在部署环节却也处处碰壁,这里也来总结以下,以备将来不时查看以及完善. 二.前提 2.1 需要的知识 django Django是一个基于p ...

  10. perl学习之argument

    Arguments are the values you pass to a Perl script. Each value on the command line after the name of ...