`

Jackson-性能比较JSON库

 
阅读更多
<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-core</artifactId>
	<version>2.2.2</version>
</dependency>


jackson的用法   http://tkhhappyboy.blog.163.com/blog/static/11418581520116131144605/
Deserialize JSON to ArrayList<POJO> using Jackson http://stackoverflow.com/questions/9829403/deserialize-json-to-arraylistpojo-using-jackson

Jackson第一篇【JSON字符串、实体之间的相互转换】http://blog.csdn.net/songyongfeng/article/details/6932655

Jackson第二篇【从JSON字符串中取值】 http://blog.csdn.net/songyongfeng/article/details/6932674

Jackson第三篇【ObjectMapper的并发编程】http://blog.csdn.net/songyongfeng/article/details/6932677


package com.rh.util;


import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * User: pandy
 * Date: 13-7-6
 * Time: 下午5:26
 * To change this template use File | Settings | File Templates.
 */
public class JSONUtils {

    private static  ObjectMapper getObjectMapper(){
        ObjectMapper mapper = new ObjectMapper();
        return mapper;
    }

    public static String bean2str(Object obj) {
        try {
            ObjectMapper mapper = getObjectMapper();
            StringWriter writer = new StringWriter();
            JsonGenerator gen = new JsonFactory().createJsonGenerator(writer);
            mapper.writeValue(gen, obj);
            gen.close();
            String json = writer.toString();
            writer.close();
            return json;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public static Object str2bean(String json, Class<?> clazz) {
        try {
            ObjectMapper mapper = getObjectMapper();
            Object domain = mapper.readValue(json, clazz);
            return domain;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    public static Object str2list(String json, TypeReference valueTypeRef) {
        try {
            ObjectMapper mapper = getObjectMapper();
            Object domain = mapper.readValue(json, valueTypeRef);
            return domain;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    public static Object str2list(String json, Class<?> clazz) {
        try {
            ObjectMapper mapper = getObjectMapper();
            JavaType type = mapper.getTypeFactory().
                    constructCollectionType(ArrayList.class, clazz) ;

            Object domain = mapper.readValue(json, type);
            return domain;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
    //new TypeReference<Map<String,Object>>() { }
    public static Object str2map(String json, TypeReference valueTypeRef) {
        try {
            ObjectMapper mapper = getObjectMapper();
            Object domain = mapper.readValue(json, valueTypeRef);
            return domain;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
}


           
分享到:
评论

相关推荐

    jackson-annotations-2.9.5.jar ,jackson-core-2.9.5.jar,jackson-databind-2.9.5.jar

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。这个压缩包包含的三个核心组件——`jackson-annotations-2.9.5.jar`、`jackson-core-2.9.5.jar`和`jackson-databind-2.9.5.jar`是Jackson库的...

    jackson-annotations jackson-core jackson-databind

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。在Spring MVC框架中,当我们的控制器需要返回JSON格式的数据给前端时,Jackson库就扮演了至关重要的角色。标题提到的"jackson-annotations"、...

    jackson-annotations-2.2.3.jar jackson-core-2.2.3.jar jackson-databind-2.2.3.jar

    杰克逊(Jackson)是Java领域中广泛使用的JSON处理库,由 FasterXML 组织开发。这个压缩包包含了Jackson库的三个核心组件的2.2.3版本:`jackson-annotations-2.2.3.jar`、`jackson-core-2.2.3.jar` 和 `jackson-...

    jackson-core-asl-1.9.13+jackson-mapper-asl-1.9.13札包

    总的来说,Jackson库是Java开发中处理JSON不可或缺的工具,它的高效性能和丰富的功能使得JSON序列化和反序列化变得简单而强大。对于SSH整合或其他任何需要JSON数据处理的项目,这两个jar文件都是必不可少的依赖。

    JJWT.jar与依赖jackson-core.jar、jackson-databind.jar、jackson-annotations

    在使用JJWT.jar时,必须确保这些Jackson库的版本与JJWT兼容,因为JJWT可能会依赖特定版本的Jackson库来进行JSON操作。例如,这里提供的jackson-databind-2.5.0.jar、jackson-core-2.5.0.jar和jackson-annotations-...

    jackson-all-1.9.0.jar,jackson-all-1.9.9.jar,jackson-all-1.9.11.jar

    为了实现这一功能,我们需要依赖于特定的库,这里提到的`jackson-all-1.9.0.jar`, `jackson-all-1.9.9.jar`, 和 `jackson-all-1.9.11.jar`就是用于处理JSON序列化与反序列化的Jackson库的不同版本。 Jackson是Java...

    jackson-core-asl-1.7.2.jar

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、序列化和反序列化JSON数据。标题中的"jackson-core-asl-1.7.2.jar"和描述中提到的"jackson-mapper-asl-1.7.2.jar"是Jackson库...

    jackson-core-asl-1.9.13

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、序列化和反序列化JSON数据。标题中的"jackson-core-asl-1.9.13"和"jackson-mapper-asl-1.9.13"是Jackson库的两个关键组件,...

    最新的高性能 JSON 处理jackson-2.9.2.jar下载

    Jackson是Java领域中广泛使用的高性能JSON处理库,其2.9.2版本是该库的一个稳定版本,提供了高效且功能丰富的JSON序列化和反序列化功能。Jackson库由三个主要模块组成,这些模块在给定的压缩包文件中分别对应为: 1...

    jackson-annotations.jar jackson-core.jar jackson-databind.jar

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。这个库的主要功能是将Java对象转换为JSON格式,同时也能够将JSON数据转换回Java对象,极大地简化了JSON的序列化和反序列化操作。在给定的...

    Jackson高性能的JSON处理 v2.16.1.zip

    Jackson是Java领域中广泛使用的高性能JSON处理库,其最新版本为v2.16.1。这个库提供了全面的功能,包括JSON序列化和反序列化,使得开发者能够方便地在Java对象与JSON格式的数据之间进行转换。Jackson的核心模块是`...

    jackson-databind-3.0.0.jar下载

    jackson-databind基于Jackson核心库构建,以简单易用和高性能著称,是目前最流行的JSON库之一。 jackson-databind的主要功能有: 1. ObjectMapper:jackson-databind的核心类,用于转换Java对象和JSON。使用简单,一般就一...

    jackson-core-asl-1.9.13.jar和 jackson-mapper-asl-1.9.13.jar

    特别是在大数据领域,由于其高效的性能和丰富的功能,Jackson成为了处理JSON数据的首选库。 **版本信息**: 1.9.13是这两个组件的版本号,发布于2014年。虽然这个版本相对陈旧,但仍然可以在许多现有项目中找到。...

    jackson-2.4.2.jar(包含3个Jar) 高性能的JSON处理

    Jackson是Java领域中广泛使用的高性能JSON处理库,其2.4.2版本包含了三个核心的JAR文件:jackson-core、jackson-annotations和jackson-databind。这些组件一起构成了一个强大的工具集,用于JSON数据的序列化和反序列...

    jackson-core-asl-1.9.8.jar

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。这个库的主要功能包括JSON序列化和反序列化,使得Java对象能够轻松地转换为JSON格式,反之亦然。Jackson库分为多个模块,其中"jackson-core-...

    jackson-2.8.11.jar

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司维护。它的核心组件包括三个主要部分:jackson-annotations、jackson-core和jackson-databind,这恰好对应了给定的文件名"jackson-annotations-2.8.11.jar...

    jackson-2.9.3jar包合集

    杰克逊(Jackson)是Java领域中广泛使用的JSON处理库,它提供了强大的JSON解析、生成以及数据绑定功能。Jackson-2.9.3版本的jar包合集包含了多个组件,这些组件共同协作以实现JSON与Java对象之间的无缝转换。在这个...

    jackson-annotations-2.2.3,jackson-core-2.2.3,jackson-databind-2.2.3

    杰克逊(Jackson)是Java领域中广泛使用的JSON处理库,由 FasterXML 组织维护。这个压缩包包含了Jackson库的三个核心模块:`jackson-annotations-2.2.3`、`jackson-core-2.2.3` 和 `jackson-databind-2.2.3`,它们在...

    jackson-module-jsonSchema-2.6.5.zip

    1. **Jackson JSON库**:Jackson库不仅支持基本的JSON解析和生成,还提供了高级功能,如类型安全的映射、流式API、树模型以及支持JSON Schema。`jackson-module-jsonSchema-2.6.5`模块专门用于生成JSON Schema,帮助...

    jackson-annotations jackson-core jackson-databind-2.0.0

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。这个压缩包包含的是Jackson库的三个核心组件:`jackson-annotations`、`jackson-core`和`jackson-databind`,版本号为2.0.0。在Java应用中,...

Global site tag (gtag.js) - Google Analytics