jackson 完整Jar包
Jackson fasterxml和codehaus的区别: 他们是Jackson的两大分支、也是两个版本的不同包名。Jackson从2.0开始改用新的包名fasterxml;
1.x版本的包名是codehaus。除了包名不同,他们的Maven artifact id也不同。1.x版本现在只提供bug-fix,
2.x版本还在不断开发和发布中。如果是新项目,建议直接用2x,即fasterxml jackson。
P.S. Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。
官网:http://wiki.fasterxml.com/JacksonHome 三个主要的模块: jackson-co re:核心包 jackson-annotations:注解包 jackson-databind:数据绑定包 jackson-databind需要引用另外两个包,所以如果项目中需要jackson-databind,则只需要加入它的dependency就行了,其他两个会自动引入: <dependency> <groupId>com.fasterxml.jackson.
使用(java jar-jackson-all-1.9.0jar自行下载)
- import java.io.StringWriter;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.codehaus.jackson.JsonFactory;
- import org.codehaus.jackson.JsonGenerator;
- import org.codehaus.jackson.JsonParser;
- import org.codehaus.jackson.map.DeserializationConfig.Feature;
- import org.codehaus.jackson.map.MappingJsonFactory;
- import org.codehaus.jackson.map.ObjectMapper;
- import org.codehaus.jackson.type.JavaType;
- public class JsonUtils {
- public static <K, V> String toJson(Map<K, V> obj) {
- String jsonString = "";
- try {
- if (obj == null) {
- return "";
- }
- StringWriter sw = new StringWriter();
- JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
- ObjectMapper mapper = new ObjectMapper();
- mapper.writeValue(gen, obj);
- jsonString = sw.toString();
- sw.close();
- } catch (Exception ex) {
- ex.printStackTrace();
- return "";
- }
- return jsonString;
- }
- @SuppressWarnings("unchecked")
- public static Map<String, Object> toMap(String json) {
- Map<String, Object> result = new HashMap<String, Object>();
- try {
- if (json == null || json.equals("")) {
- return null;
- }
- ObjectMapper objectMapper = new ObjectMapper();
- result = objectMapper.readValue(json, Map.class);
- if (result == null) {
- return new HashMap<String, Object>();
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return result;
- }
- public static String toJson(Object object) {
- String json = "";
- try {
- if (object == null) {
- return "";
- }
- StringWriter sw = new StringWriter();
- JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
- ObjectMapper mapper = new ObjectMapper();
- mapper.writeValue(gen, object);
- json = sw.toString();
- sw.close();
- } catch (Exception ex) {
- ex.printStackTrace();
- json = "";
- }
- return json;
- }
- public static <T> T toObject(String json, Class<T> clazz) {
- T obj = null;
- try {
- if (json == null || json.equals("")) {
- return null;
- }
- JsonFactory jsonFactory = new MappingJsonFactory();
- JsonParser jsonParser = jsonFactory.createJsonParser(json);
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES,false);
- //mapper.getDeserializationConfig().set(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- obj = mapper.readValue(jsonParser, clazz);
- } catch (Exception ex) {
- ex.printStackTrace();
- obj = null;
- }
- return obj;
- }
- public static <T> List<T> toList(String json, Class<T> clazz) {
- if (json == null || json.equals("")) {
- return null;
- }
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES,false);
- List<T> list = new ArrayList<T>();
- try {
- JavaType type = mapper.getTypeFactory().constructParametricType(List.class, clazz);
- list = mapper.readValue(json, type);
- return list;
- } catch (Exception e) {
- e.printStackTrace();
- }
- return list;
- }
- }
jackson 完整Jar包的更多相关文章
- MyEclipse 8.5 Axis2 插件完整jar包
http://download.csdn.net/download/hob007/4457837 MyEclipse 8.5 安装 Axis2 插件所需的完整JAR包 两个axis2插件,以及三个ja ...
- 如何在Github下载jackson的jar包
-------------------------这是jackson-annotations的,往下拉找到Downloads就有jar包下载了 https://github.com/FasterXML ...
- jar包下载地址(fasterxml.jackson)
jar包下载地址(fasterxml.jackson) Home » com.fasterxml.jackson » core jar包下载地址 https://mvnrepository.com/a ...
- Spring的各个jar包的作用介绍
spring4中各个jar包的介绍: Spring AOP:Spring的面向切面编程,提供AOP(面向切面编程)的实现 Spring Aspects:Spring提供的对AspectJ框架的整合Sp ...
- Eclipse 导出的jar包 , 使用后提示重复定义?
导出jar包时,一般会指定一个路径,导出的完整jar包就会自动放到那个指定路径里. 后来我发现那个指定路径的jar包比bin文件夹里面的jar包大,于是就用bin文件夹里面的jar包代替来试试,果然不 ...
- SpringBoot打包实现静态文件、配置文件、jar包分离
在pom文件里面添加 <plugins> <!--定义项目的编译环境--> <plugin> <groupId>org.apache.maven.plu ...
- 通过导入Jar包的方式使用JSONObject
如果想要在Java中使用JSONObject,而且只想通过导入jar包的方式下,那么仅仅导入Json的jar包还是不够的. 不然会报:java.lang.ClassNotFoundException: ...
- springmvc 项目完整示例04 整合mybatis mybatis所需要的jar包 mybatis配置文件 sql语句 mybatis应用
百度百科: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBat ...
- springmvc 项目完整示例07 设置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置
前面主要是后台代码,spring以及mybatis的整合 下面主要是springmvc用来处理请求转发,展现层的处理 之前所有做到的,完成了后台,业务层和持久层的开发完成了 接下来就是展现层了 有很多 ...
随机推荐
- #Java学习之路——基础阶段二(第十四篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- 【神经网络与深度学习】CIFAR-10数据集介绍
CIFAR-10数据集含有6万个32*32的彩色图像,共分为10种类型,由 Alex Krizhevsky, Vinod Nair和 Geoffrey Hinton收集而来.包含50000张训练图片, ...
- spring boot-8.静态资源映射
1.webjars WebJars是将客户端(浏览器)资源(javascript,Css等)打成jar包文件,以对资源进行统一依赖管理.WebJars的jar包部署在Maven中央仓库上.官网地址:h ...
- [转帖]oracle 00600 4194 4193 问题的处理
oracle断电重启之ORA-00600[4194] https://www.cnblogs.com/xwdreamer/p/3778383.html 部门的机器出现异常 断电导致的 错误 从网上学了 ...
- mybatis使用的一点小结:session运行模式及批量提交(转)
mybatis的执行器有三种类型: ExecutorType.SIMPLE 这个类型不做特殊的事情,它只为每个语句创建一个PreparedStatement. ExecutorType.REUSE 这 ...
- C语言 --- 高级指针
1. 指针赋值: C语言允许使用赋值运算进行指针的赋值,前提是两个指针具有相同的类型. int i,*p,*q; p = &i; ...
- SCUT - 492 - 鬼符「搦手的鬼畜生」 - 简单数学
https://scut.online/p/492 求[1,a]范围内的a模m的逆元的数量. 一开始用扩展欧几里得算法草了一发,WA了,当时不太清楚模非质数的周期,看来扩展欧几里得算法的笔记才知道要加 ...
- gym102215题解
A Rooms and Passages 题意 给n个数,从起点出发,一直往右走,遇到一个前面出现过其相反数的正数就停下,问对于每个起点都能走多少步. 分析 倒着递推,如果起点是正数,那么肯定可以走, ...
- JavaSE--基础知识
Java基础知识 一.基础知识 1.java命名规则 由26个英文字母大小写,0-9 ,_或 $ 组成 数字不可以开头. 不可以使用关键字和保留字,但能包含关键字和保留字. Java中严格区分大小写, ...
- CentOS 7 安装MongoDB 4.0
1.创建yum源文件 /etc/yum.repos.d/mongodb-org-4.0.repo [mongodb-org-4.0] name=MongoDB Repository baseurl=h ...