`

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-databind-2.7.0.jar包官方免费版

    jackson-databind.jar包是一款非常实用的免费JAR包工具,Jackson是一个Java用来处理 JSON 格式数据的类库,性能非常好,jackson-databind.jar包可以配合Jackson使用,有需要的朋友们欢迎前来下载使用。

    jackson-databind-3.0.0.jar下载

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

    Jackson高性能的JSON处理.rar

    相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。 一、准备工作 1、 下载依赖库jar包 Jackson的jar all下载地址:...

    Json高性能包 FastJson

    Fastjson是一个Java语言编写的高性能功能完善的JSON库。 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。

    java8stream源码-json-binders:Scala/Scala.JS的Json序列化器

    json-活页夹 json-binders是 Scala/Scala.js 的库,它允许您序列化/反序列化 Scala 案例类、原始类型到/从 JSON 表示。 为什么是 json 绑定器? 已经存在许多用于相同目的的库,例如scala/pickling upickle 、 ...

    fastjson的jar包,包含api文档

    fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。 支持标准: Fastjson完全支持http://json.org的标准,也是官方网站...

    json解析包

    fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点: * 1.快速FAST(比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java...

    fastjson-1.2.3.jar

    Fastjson是一个Java语言编写的高性能功能完善的JSON库。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。Fastjson完全...

    202006学习网址.zip

    fastjson是目前java语言中最快的json库,比自称最快的jackson速度要快,第三方独立测试结果看这里:https://github.com/eishay/jvm-serializers/wiki 这里有jackson作者cowtowncoder等人对fastjson的性能评价:...

    LoganSquare:尖叫适用于Android的快速JSON解析和序列化库

    不相信它可以对Jackson Databind或GSON的性能带来很大的改善吗? 好吧,然后自己检查一下下面的漂亮图表。 不服气吗? 随意构建和运行此存储库中包含的BenchmarkDemo应用程序。 1注意:我们的

    mongojack:Mongojack将Java对象映射到MongoDB文档。 基于Jackson JSON映射器,Mongojack允许您轻松将mongo对象作为POJO处理(插入,按ID或任何其他字段搜索,更新)

    它的插件,自定义创建者,序列化器,视图,可插入注释器等,为该映射库提供了巨大的开端,使其功能强大,性能强大。 项目文件 该项目的官方文档位于。 邮件列表 MongoDB Jackson Mapper用户邮件列表托管。 问题 ...

    FastJsonJar .zip

     fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。  ·支持标准·  Fastjson完全支持http://json.org的标准...

    fastjson-1.1.34.android-sources.zip

    性能最高的JSON解析库,由中国-阿里巴巴开发。 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum) 零依赖(没有...

    logback-ext:Logback日志库的扩展

    还包含基于LMAX Disrupotr的高性能异步附加器和某些实用程序,例如Jackson JSON编码器。使用Logback扩展Logback Extensions需要Java 7或更高版本。 在项目的依赖管理中包括所需的模块,并使用Logback的XML配置或...

    java8集合源码-tips:尖端

    jackson 字段动态过滤 Json 2 Pojo User-agent-utils 杂项 swagger 文档  java 8 反射工具 restful RESTful文档管理 api设计 JWT PDF spring RequestMapping 使用使用示例 编程闯关、完成挑战 设计模式 图片 图形...

    Java资源包01

    高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384...

    java开源包1

    高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384...

    java开源包10

    高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash 用来计算 MD5、SHA 哈希算法的 Java 类库,支持 "MD5", "SHA", "SHA-1", "SHA-256", "SHA-384...

Global site tag (gtag.js) - Google Analytics