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. 洛谷 P1009 阶乘之和

    题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1. 输入输出格式 输入格式: 一个正整数N. 输出格式: 一个正整数S,表示计算结 ...

  2. Microsoft Sql server2005的安装步骤和常见问题解决方案

    一:安装sql server 2005过程中出现 如下问题:“选择的功能中没有任何功能可以安装或升级”: 解决方案:Microsoft SQL Server 2005→配置工具→SQL配置管理器→SQ ...

  3. cannot load such file -- bundler/setup解决

    sudo gem install bundler bundle update celluloid

  4. OCR/Vote disk 维护操作: (添加/删除/替换/移动) (文档 ID 1674859.1)

    适用于: Oracle Database - Enterprise Edition - 版本 10.2.0.1 到 11.2.0.1.0 [发行版 10.2 到 11.2]本文档所含信息适用于所有平台 ...

  5. Web开发者必须知道的10个jQuery代码片段

    在过去的几年中,jQuery一直是使用最为广泛的JavaScript脚本库.今天我们将为各位Web开发者提供10个最实用的jQuery代码片段,有需要的开发者可以保存起来. 1.检测Internet ...

  6. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061) : 第一次设置MySQL也适用

    [MySQL的安装环境]:windows7 64位 [MySQL的版本]:mysql-8.0.16-winx64 [错误描述]: ERROR 2003 (HY000): Can't connect t ...

  7. linux 常用命令(持续更新)

    查看IP地址 ifconfig 查看TCP端口 netstat -ntlp vi 文本编辑 (1)进入vi编辑模式 在vi的默认模式中,直接在界面中输入: i 在光标所在位置开始编辑: a 在光标所在 ...

  8. jquery的同步和异步

    之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去 ...

  9. ios runloop学习

    今天突然才之间才意识到NSTimer这样的运行方式,是在多线程中实现的循环还是在主线程中去实现的呢.当然不可能是在主线程中的while那么简单,那样什么都干不了,简单看了下NSTimer是以同步方式运 ...

  10. ZOJ Monthly, January 2019-Little Sub and Pascal's Triangle

    这个题的话,它每行奇数的个数等于该行行号,如果是0开始的,就该数的二进制中的1的个数,设为k,以它作为次数,2k就是了. #include <stdio.h> int main() { i ...