• Jackson工具


    Jackson

    Jackson包含一个core JAR,和两个依赖core JAR的JAR:

      jackson-core-2.2.3.jar(核心jar包,下载地址

      jackson-annotations-2.2.3.jar(该包提供Json注解支持,下载地址

      jackson-databind-2.2.3.jar(下载地址

    maven依赖:

    dependency>  
          <groupId>com.fasterxml.jackson.core</groupId>  
          <artifactId>jackson-databind</artifactId>  
          <version>${jackson-version}</version>  
    </dependency>  
    <dependency>  
          <groupId>com.fasterxml.jackson.core</groupId>  
          <artifactId>jackson-core</artifactId>  
          <version>${jackson-version}</version>  
    </dependency>  
    <dependency>  
          <groupId>com.fasterxml.jackson.core</groupId>  
          <artifactId>jackson-annotations</artifactId>  
          <version>${jackson-version}</version>  
    </dependency>  
    Jackson提供了两种不同的JSON解析器:
    1. ObjectMapper:把JSON解析到自定义的Java类中,或者解析到一个Jackson指定的树形结构中(Tree model)。
    2. Jackson JsonParser:一种“拉式”(pull)解析器,每次解析一组JSON数据。
    Jackson也包含了两种不同的JSON生成器:
    1. ObjectMapper:把自定义的Java类,或者一个Jackson指定的树形结构生成为JSON文件。
    2. Jackson JsonGenerator:每次只生成一组JSON数据。

    ObjectMapper

    ObjectMapper是JSON操作的核心,Jackson的所有JSON操作都是在ObjectMapper中实现。 

    ObjectMapper有多个JSON序列化的方法,可以把JSON字符串保存File、OutputStream等不同的介质中。

    1.          * writeValue(File arg0, Object arg1)把arg1转成json序列,并保存到arg0文件中。 
    2.          * writeValue(OutputStream arg0, Object arg1)把arg1转成json序列,并保存到arg0输出流中。 
    3.          * writeValueAsBytes(Object arg0)把arg0转成json序列,并把结果输出成字节数组。 
    4.          * writeValueAsString(Object arg0)把arg0转成json序列,并把结果输出成字符串。 

    作用:

      1、把对象转son(String类型);

    private static final ObjectMapper MAPPER = new ObjectMapper();
    
        return this.MAPPER.writeValueAsString(result);

      2、把json转成对象;

    User user = MAPPER.readValue(json, User.class);
                    
    this.MAPPER.writeValueAsString(user)

      3、直接解析

    ObjectMapper mapper = new ObjectMapper();
    JsonNode jsonNode = mapper.readTree(json);
    String type = jsonNode.get("type").asText();
    Long itemId = jsonNode.get("itemId").asLong();

    JSON注解

    Jackson提供了一系列注解,方便对JSON序列化和反序列化进行控制,下面介绍一些常用的注解。

      @JsonIgnore 此注解用于属性上,作用是进行JSON操作时忽略该属性。

      @JsonFormat 此注解用于属性上,作用是把Date类型直接转化为想要的格式,如@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")。

      @JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty("name")。

  • 相关阅读:
    NewtonSoft.Json
    属性
    csv文件
    C#和递归算法实现删除,清空,拷贝目录
    朴素贝叶斯应用:垃圾邮件分类
    压缩图片
    numpy分布图
    鸢尾花
    numpy数组及处理:效率对比
    完整的中英文词频统计
  • 原文地址:https://www.cnblogs.com/soul-wonder/p/8919665.html
Copyright © 2020-2023  润新知