`

jackson使用

    博客分类:
  • json
 
阅读更多

Jackson是java中众多json处理工具的一个,比起常见的Json-lib,Gson要快一些。

jsckson官方地址

 

http://jackson.codehaus.org/

 里面可以下载Jackson的Jar包  注意jackson依赖:Apache的commons-loggin

 JSON的三种处理方式 

Jackson提供了三种可选的JSON处理方法(一种方式及其两个变型):

  • 流式 API(也称为"增量分析/生成") 读取和写入 JSON 内容作为离散事件。

    • org.codehaus.jackson.JsonParser 读, org.codehaus.jackson.JsonGenerator 写。

    • StAX API 的激励。

  • 树模型 :提供一个 JSON 文档可变内存树的表示形式。

    • org.codehaus.jackson.map.ObjectMapper 生成树 ;树组成 JsonNode 节点集。

    • 树模型类似于 XML DOM。
  • 数据绑定: JSON和POJO相互转换,基于属性访问器规约或注解。

    • 有 两种变体: 简单 和 完整 的数据绑定:

    • 简单数据绑定: 是指从Java Map、List、String、Numbers、Boolean和空值进行转换

    • 完整数据绑定 :是指从任何 Java bean 类型 (及上文所述的"简单"类型) 进行转换

    • org.codehaus.jackson.map.ObjectMapper 对两个变种,进行编组(marshalling )处理 (写入 JSON) 和反编组(unmarshalling ,读 JSON)。

    • JAXB激励下的基于注释的 (代码优先)变种。

从使用的角度来看,总结这些3 种方法的用法如下:

  • 流 API: 性能最佳的方式 (最低开销、 速度最快的读/写; 其它二者基于它实现)。

  • 数据绑定 :使用最方便的方式。

  • 树模型: 最灵活的方式


一、数据绑定方式(常用且简单)

1.bean --> json

 

public static String beanToJson(Object obj) throws IOException {   
    // 这里异常都未进行处理,而且流的关闭也不规范。开发中请勿这样写
        ObjectMapper mapper = new  ObjectMapper();  
        StringWriter writer = new StringWriter();   
        JsonGenerator gen = new JsonFactory().createJsonGenerator(writer);   
        mapper.writeValue(gen, obj);   
        gen.close();   
        String json = writer.toString();   
        writer.close();   
        return json;   
    }  

 2.json --> bean

 

        /**
	 * JSON转换为对象
	 * @param json
	 * @param cls
	 * @return
	 */
	public static Object json2Obj(String json,Class<?> cls){
		ObjectMapper mapper = new ObjectMapper();
		try {
    		return mapper.readValue(json, cls);
		}  catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

 

分享到:
评论

相关推荐

    jackson 使用方法(序列化效率很高)

    Jackson是Java领域中广泛使用的JSON处理库,以其高效、灵活的序列化和反序列化功能而闻名。在本文中,我们将深入探讨Jackson的使用方法,尤其是它在序列化效率方面表现出的优势。 首先,Jackson的核心组件包括`...

    Jackson使用方法1

    Jackson是Java领域中广泛使用的JSON处理库,它提供了高效的序列化和反序列化功能,能够将Java对象转换为JSON格式的字符串,反之亦然。在本文中,我们将深入探讨Jackson库的基本使用方法,特别是如何将JavaBean对象...

    Jackson使用方法1.docx

    Jackson是Java领域中广泛使用的JSON处理库,它提供了高效的序列化和反序列化功能。本文将详细介绍Jackson的使用方法,包括基本配置、对象转换为JSON字符串、忽略特定属性等核心概念。 首先,要使用Jackson库,你...

    jackson使用@JsonSerialize格式化BigDecimal解决.00不显示问题

    接下来,我们需要在返回给前端的实体类中的BigDecimal属性上添加`@JsonSerialize`注解,指定使用我们刚刚创建的序列化器: ```java import com.fasterxml.jackson.annotation.JsonSerialize; public class ...

    Jackson的jar包

    1、JackSon使用Java类中的getxxx()方法定位生成的json对象的属性xxx和值(返回值),而不是字段; 2、可以通过在Java类getxxx()方法前添加注释@JsonIgnore来忽略该getxxx()方法生成的属性xxx; 3、常用的...

    jackson jsonobject所需要的所有jar包

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成JSON数据。在Java应用程序中,如果你需要使用`Jackson JSONObject`进行JSON操作,那么你就需要用到一系列的Jackson库。这些库...

    JSON中fastjson、jackson、gson如何选择.docx

    jackson 使用了 Java 语言的Annotation 机制,来映射 JSON 数据和 Java 对象。 gson 是谷歌出品的 JSON 解析器,具有高性能和高可扩展性的特点。gson 使用了 Java 语言的反射机制,来映射 JSON 数据和 Java 对象。 ...

    jackson-core-asl-1.7.2.zip

    4. `AnnotationIntrospector`:Jackson使用注解来配置序列化和反序列化的规则,`AnnotationIntrospector`类处理这些注解,使得库可以根据注解的指示进行定制化处理。 5. `Module`:Jackson支持模块化扩展,`Module`...

    官网jackson快速指导

    1. **易于使用**:Jackson API 提供了高级的接口简化常见的使用场景。 2. **无须创建映射**:对于大多数需要序列化的对象,Jackson API 自动提供了默认的映射支持。 3. **性能卓越**:Jackson 具有较高的处理速度,...

    jackson-annotations、jackson-core、jackson-databind

    在IT行业中,Jackson库是Java领域广泛使用的JSON处理库,特别是在Spring框架中。"jackson-annotations"、"jackson-core"和"jackson-databind"是Jackson库的三个核心模块,它们协同工作,提供了强大的JSON序列化和反...

    jackson-databind-2.1.4.jar

    Jackson是一个Java用来处理 JSON 格式数据的类库,性能非常好,jackson-databind.jar包可以配合Jackson使用

    Jackson包(适合spring4.X版本的使用)

    本篇文章将深入探讨Jackson在Spring 4.X中的使用及其组件,以帮助开发者更好地理解和应用。 首先,我们来看一下Jackson的主要组件: 1. **jackson-databind**:这是Jackson的核心组件,负责对象与JSON之间的映射。...

    jackson-annotations jackson-core jackson-databind

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

    spring使用jackson实现json

    在Spring中,我们通常会使用`Jackson.databind`模块,因为它提供了`ObjectMapper`类,可以方便地将Java对象转换为JSON字符串,反之亦然。为了集成Jackson,首先需要在项目中引入对应的依赖。对于Maven项目,可以在...

    jackson-databind-2.7.0.jar包官方免费版

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

    jackson-databind jackson-annatation jackson-core jackson-mapper

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。它提供了高效、功能丰富的处理JSON的方式,包括序列化和反序列化。在这个包中提到了四个关键组件:"jackson-databind"、"jackson-annotations...

    jackson-mapper-asl-1.7.2.zip

    4. **TypeReference**: Jackson使用这个类来处理泛型类型信息,因为在Java中泛型信息在编译后会丢失。通过TypeReference,可以保留和使用类型信息进行反序列化。 5. **Module机制**: Jackson模块允许扩展其功能,...

    SpringMVC使用JSON的Jackson的jar包

    Jackson是Java中广泛使用的JSON处理库,它提供了多种功能,如JSON序列化、反序列化、数据绑定等。Jackson分为多个模块,包括`jackson-databind`、`jackson-core`和`jackson-annotations`等。在早期版本中,这些模块...

    jackson-core所需的三个包;jackson-databind.jar,jackson-annotations.jar,jackson-core.jar

    Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、转换JSON数据。在Spring MVC框架中,Jackson库通常用于处理HTTP请求和响应中的JSON数据,使得Java对象能够方便地序列化为JSON...

    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库的...

Global site tag (gtag.js) - Google Analytics