使用 jackson 解析 json 演示样例

Streaming (“jackson-core”) defines low-level streaming API, and includes JSON-specific implementations

Annotations (“jackson-annotations”) contains standard Jackson annotations

Databind (“jackson-databind”) implements data-binding (and object serialization) support on streaming package;

it depends both on streaming and annotations packages。

json文件:

POJO类:

package jackson.test;

import java.util.HashMap;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonProperty;

public class ExamplePOJO {
      @JsonProperty( "name")
      private String name;

      @JsonProperty( "age")
      private Integer age;

      @JsonProperty( "isMan")
      private Boolean isMan;

      private Map additionalProperties = new
                HashMap();

      @JsonProperty( "name")
      public String getName() {
            return name;
     }
      @JsonProperty( "name")
      public void setName(String name) {
            this. name = name;
     }
      @JsonProperty( "age")
      public Integer getAge() {
            return age;
     }
      @JsonProperty( "age")
      public void setAge(Integer age) {
            this. age = age;
     }
      @JsonProperty( "isMan")
      public Boolean getIsMan() {
            return isMan;
     }
      @JsonProperty( "isMan")
      public void setIsMan(Boolean isMan) {
            this. isMan = isMan;
     }

      public Map getAdditionalProperties() {
            return additionalProperties;
     }

      public void setAdditionalProperties(String name, Object obj) {
            this. additionalProperties.put(name, obj);
     }

      @Override
      public String toString() {
            return "ExamplePOJO{\n" +
                      "name :'" + name + "',\n" +
                      "age : " + age + ",\n" +
                      "isMan :" + isMan + ",\n" +
                      "additionalProperties : " + additionalProperties +
                      "\n}";
     }

}

解析json文件的类:

package jackson.test;

import java.io.File;
import java.io.IOException;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class Driver {
     public static void main(String[] args) {
          ObjectMapper mapper = new ObjectMapper();
          try {
               ExamplePOJO bean = mapper.readValue(new File("test.json"),
                                                                 ExamplePOJO.class);
               System.out.println("name : " + bean.getName());
               System.out.println("age : " + bean.getAge() );
               System.out.println("isMan : " + bean.getIsMan() );
               System.out.println("===================");
               System.out.println(bean.toString());
          } catch (JsonParseException e) {
               e.printStackTrace();
          }catch (JsonMappingException e){
               e.printStackTrace();
          }catch (IOException e){
               e.printStackTrace();
          }
     }
}

Original: https://www.cnblogs.com/yxwkf/p/5425112.html
Author: yxwkaifa
Title: 使用 jackson 解析 json 演示样例

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/547445/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • delphi获取文件的创建/修改时间、按时间删除指定文件下的文件

    uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, S…

    技术杂谈 2023年5月31日
    093
  • 人生苦短,我用JRebel

    昨天看到团子推送的一篇关于热部署的文章,其中介绍了自研的Sonic插件在公司内部的应用。同时晒出来一张对比图: 团子表示我们的插件要比同类插件优秀哦。不过我定睛一看,好家伙,第一列…

    技术杂谈 2023年7月25日
    071
  • CentOS7安装mysql5.7.27forzabbix

    本文是因为需要安装zabbix系统,才贴出的此步骤,供自己查阅方便之用; 在安装使用zabbix前,需要先安装数据库,这里使用的是MySQL数据库进行部署,给出安装步骤,大家觉得有…

    技术杂谈 2023年7月24日
    078
  • Java中如何创建不可变(immutable)类

    不可变类是指类的实例一经创建完成,这个实例的内容就不会改变。 Java中的String和八个基本类型的包装类(Integer, Short, Byte, Long, Double,…

    技术杂谈 2023年6月21日
    086
  • 前端工作流规范

    使用GitFlow, 在项目中会存在两个长期分支,主分支(master) 和 开发分支(develop)。 主分支(master): 该主分支代码用于对外发布的代码(一般指线上已经…

    技术杂谈 2023年6月1日
    085
  • linux学习相关资料整理

    Posted on2022-09-08 13:09 brad1208 阅读(21 ) 评论() 编辑 linux常用指令记录 Python3.9.9安装 supervisor安装与…

    技术杂谈 2023年7月11日
    067
  • Python人员信息管理系统(简直期末人福音)

    ​ 1. 涉及模块 datetime os random sys PyQt5 运行效果 支持功能: 添加信息 修改信息 删除信息 查询信息 文件存储数据,每次运行都会加载显示之前的…

    技术杂谈 2023年6月21日
    085
  • delete

    delete ; delete Original: https://www.cnblogs.com/timssd/p/13215611.htmlAuthor: xxxxxxxx1x…

    技术杂谈 2023年5月30日
    077
  • OpenMP教程(一)深入剖析OpenMPreduction子句

    在前面的教程OpenMP入门当中我们简要介绍了 OpenMP 的一些基础的使用方法,在本篇文章当中我们将从一些基础的问题开始,然后仔细介绍在 OpenMP 当中 reduction…

    技术杂谈 2023年7月24日
    087
  • SpringBoot-druid

    SpringBoot-druid 9.1 druid简介 Java程序很大一部分要操作数据库,为了提高性能操作数据库,又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一…

    技术杂谈 2023年6月21日
    0106
  • 枚举进行位运算 枚举组合z

    public enum MyEnum { MyEnum1 = 1, //0x1 MyEnum2 = 1 << 1, //0x2 MyEnum3 = 1 <<…

    技术杂谈 2023年6月1日
    073
  • OKR、KPI、360环评

    OKR、KPI、360环评,我是如何被绩效一步步内卷的 – 知乎https://zhuanlan.zhihu.com/p/358901842 OKR和360度环评 &#…

    技术杂谈 2023年6月1日
    092
  • Application.DoEvents()的作用

    Application.DoEvents()的作用:处理当前在消息队列中的所有 Windows 消息。 测试了一下,没有Application.DoEvents()的时候,Labe…

    技术杂谈 2023年5月30日
    086
  • idea环境下SpringBoot Web应用引入JSP

    环境 开发环境:idea2019.3jkd版本:1.8springboot版本:2.6.2 引入JSP的步骤 2.1 新建工程,引入依赖 这里只是解析jsp,因此只需要引入spri…

    技术杂谈 2023年7月11日
    058
  • 树状数组

    简述 什么是树状数组呢,顾名思义就是树一样的数组,本质就是用数组模拟树形结构。 树状数组有什么用呢,树状数组可以实现单点更新,单点查询,区间查询和区间更新,维护的东西和线段树可以类…

    技术杂谈 2023年7月11日
    080
  • SpringBoot-Test测试

    @RunWith(SpringRunner.class) @SpringBootTest(classes = com.aa.Application.class, webEnviro…

    技术杂谈 2023年6月21日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球