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;
    }
} 

原文地址:https://www.cnblogs.com/fanblogs/p/11153010.html

时间: 2024-08-04 01:08:55

jackson 完整Jar包的相关文章

MyEclipse 8.5 Axis2 插件完整jar包

http://download.csdn.net/download/hob007/4457837 MyEclipse 8.5 安装 Axis2 插件所需的完整JAR包 两个axis2插件,以及三个javax.xml jar包 将jar包拷贝到{%myEclipse8.5安装目录%}\dropins文件夹下即可 --org.apache.axis2.eclipse.codegen.plugin_1.6.2.jar --org.apache.axis2.eclipse.service.plugin_

如何在Github下载jackson的jar包

-------------------------这是jackson-annotations的,往下拉找到Downloads就有jar包下载了 https://github.com/FasterXML/jackson-annotations/wiki 这是jackson-datahind的,往下拉找到Non-Maven https://github.com/FasterXML/jackson-databind 这是core的,往下拉找到Non-Maven https://github.com/F

java开发框架完整jar包、源代码下载

spring:http://docs.spring.io/downloads/nightly/snapshot-download.php?project=SPR: spring:http://repo.spring.io/release/org/springframework/spring/: mysql:http://mirrors.sohu.com/mysql/: hibernate:http://sourceforge.net/projects/hibernate/files/: stru

jar包下载地址(fasterxml.jackson)

Home ? com.fasterxml.jackson ? core jar包下载地址 https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core https://mvnrepository.com/artifact/com.fasterxml

maven-springmvc 的pom.xml具体jar包依赖

1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 3 <modelVe

java jar包收集

activation~与javaMail有关的jar包,使用javaMail时应与mail.jar (mail.jar和activation.jar)一起加入到lib中去,具体负责mail的数据源和类型等. ApacheActiveMQ~Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现. ajaxtags~ajax提供的标签库,使用户能像使用jsp普通标签一样使用ajax. Apache Ant~

Java常用开源jar包

转:http://blog.csdn.net/kevingao/article/details/8125683 activation~与javaMail有关的jar包,使用javaMail时应与mail.jar (mail.jar和activation.jar)一起加入到lib中去,具体负责mail的数据源和类型等. ApacheActiveMQ~Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现.

将独立的jar包导入本地maven仓库

首先我们准备好要导入的jar包,并指定好要导入的groupId和artifactId的名字,以及版本号,因为maven的pom.xml在导入jar报的时候是要写入这个的,举个例子,如下在这里插入图片描述然后我们找到独立jar包所在的目录在这里插入图片描述比如在Download目录下的jackson包我们需要一行代码 mvn install:install-file -Dfile=(jar包名字) -DgroupId=(groupId) -DartifactId=(artifactId) -Dve

maven五:查找jar包坐标,选择jar包版本

查找jar包坐标 以spring core的jar包为例,访问http://www.mvnrepository.com/    在最上方中间,输入spring core,点击Search. 搜索结果第一个就是,点击spring core 有很多版本,这里点击4.3.5.RELEASE 点击maven栏里面的内容,允许访问,会复制到剪贴板 然后直接粘贴到pom.xml文件的<dependencies>里面,eclipse右下角就会提示下载.下载完成完,项目中就会成功添加这两个包 选择jar包版本