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. vijos 1190 繁忙的都市

    描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路 ...

  2. 运行powershell 脚本 在此系统上禁止运行脚本

    解决方法: 首次在计算机上启动 Windows PowerShell 时,现用执行策略很可能是 Restricted(默认设置). Restricted 策略不允许任何脚本运行. 若要了解计算机上的现 ...

  3. cocoapods学习

    1.安装 http://stackoverflow.com/questions/16459028/rvm-install-error-running-requirements-osx-port-ins ...

  4. Fedora19添加和设置YUM源

    Fedora19添加和设置YUM源添加yum源前先安装fastestmirror/downloadonly插件和axelget插件: 1.安装fastestmirror/downloadonly插件 ...

  5. 2010: C语言实验——逆置正整数

    2010: C语言实验——逆置正整数 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 949  Solved: 691[Submit][Status][We ...

  6. CAD交互绘制块引用对象(网页版)

    主要用到函数说明: _DMxDrawX::DrawBlockReference 绘制块引用对象.详细说明如下: 参数 说明 DOUBLE dPosX 插入点的X坐标 DOUBLE dPosY 插入点的 ...

  7. python面向对象编程(OOP)

    python作为一种解释性语言,其主要的编程方式就是面向对象,而且python的框架django也是主要面向对象的编程. 类(class)和对象(object) 类(class)是用来描述具有相同属性 ...

  8. mysqldump指令说明

    3种形式mysqldump [OPTIONS] database [tables]mysqldump [OPTIONS] -B | --databases [OPTIONS] DB1 [DB2 DB3 ...

  9. RN在设备上运行

    https://facebook.github.io/react-native/docs/running-on-device.html 在发布之前,最好是在真实的设备上测试一下应用.如果是通过crea ...

  10. 5.电影搜索之 自动填充,也叫autocomplete、搜索建议!

    什么叫自动填充,用过百度的应该都知道!当你输入关键词之后,会有一个下拉的候选列表,都是与你输入的内容相关的,这个就是自动填充的搜索建议.一般的搜索引擎或者站内搜索都会有这个功能. 今天分享下这个功能的 ...