使用 jackson 解析 json 示例

首先需要下载3个包,下载地址在Github FasterXML,这三个核心模块分别是:

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文件:

<span style="font-family:SimHei;font-size:18px;">{
     "name":" vonzhou",
     "age":123,
     "isMan":true
}</span>

POJO类:

<span style="font-family:SimHei;font-size:18px;">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<String,Object> additionalProperties = new
                HashMap<String, Object>();

      @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<String, Object> 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}";
     }

}

</span>

解析json文件的类:

<span style="font-family:SimHei;font-size:18px;">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();
          }
     }
}</span>

使用 jackson 解析 json 示例,布布扣,bubuko.com

时间: 2024-08-28 21:09:21

使用 jackson 解析 json 示例的相关文章

jackson 解析json含有不规则的属性的json字符串的方法

对于json中含有点号,等其他特殊的,不是规范的java变量名的字符,可以使用一个注解来处理. 贴代码: import com.fasterxml.jackson.annotation.JsonProperty; public class Api { private Bean APISSInshopApi; @JsonProperty("API.SSInshopApi") public Bean getAPISSInshopApi() { return APISSInshopApi;

使用 jackson 解析 json 演示样例

首先须要下载3个包,下载地址在Github FasterXML,这三个核心模块各自是: Streaming ("jackson-core") defines low-level streaming API, and includes JSON-specific implementations Annotations ("jackson-annotations") contains standard Jackson annotations Databind (&quo

我的Android进阶之旅------&gt;解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

1.问题描述 首先,需要解析的Json数据类似于下面的格式: { ret: 0, msg: "normal return.", news: [ { id: "NEW2016062800875700", from: "腾讯新闻客户端", qqnews_download_url: "http://inews.qq.com/m?refer=openapi_for_xiaotiancai", articletype: "1&

pyspider示例代码二:解析JSON数据

本系列文章主要记录和讲解pyspider的示例代码,希望能抛砖引玉.pyspider示例代码官方网站是http://demo.pyspider.org/.上面的示例代码太多,无从下手.因此本人找出一下比较经典的示例进行简单讲解,希望对新手有一些帮助. 示例说明: pyspider爬取的内容通过回调的参数response返回,response有多种解析方式.1.response.json用于解析json数据2.response.doc返回的是PyQuery对象3.response.etree返回的

Android开发:JSON简介及最全面解析方法(Gson、AS自带org.json、Jackson解析)

前言 今天,我们来介绍现今主流的数据交换格式-JSON! 同样作为主流为数据交换格式-XML,如果有兴趣可以阅读我写的XML及其DOM.SAX.PULL解析方法和对比 目录 JSON简介&解析方法介绍.png 定义 JavaScript Object Notation,JavaScript的对象表示法,是一种轻量级的文本数据交换格式. 作用 用于数据的标记.存储和传输. 特点 轻量级的文本数据交换格式 独立于语言和平台 具有自我描述性 读写速度快,解析简单 语法 JSON值 名称/值 数组 对象

Android Json的使用(2) 使用Jackson解析和生成json

使用Jackson的三种方式 数据绑定模式:使用最方便 流模式:性能最佳 树模式:最灵活 以最常用的数据绑定模式为例 Json数据如下 [plain] view plain copy { "name" : { "first" : "Joe", "last" : "Sixpack" }, "gender" : "MALE", "verified" :

使用Jackson解析首字母大写的json字符串

Jackson在解析返回的json字符串时始终报错,纠结很久之后才找到原因,原来是是由于json字符串中的字母都是首字母大写,导致jackson找不到相应的KEY. 在项目中经常使用从服务器获取的数据,有时从服务器获取的json字符串中的首字母是大写的,使用Jackson解析是就会报一下错误: Exception in thread "main" org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecogniz

pyspider示例代码:解析JSON数据

pyspider示例代码官方网站是http://demo.pyspider.org/.上面的示例代码太多,无从下手.因此本人找出一下比较经典的示例进行简单讲解,希望对新手有一些帮助. 示例说明: pyspider爬取的内容通过回调的参数response返回,response有多种解析方式.1.response.json用于解析json数据2.response.doc返回的是PyQuery对象3.response.etree返回的是lxml对象4.response.text返回的是unicode文

Java中使用Jackson进行JSON解析和序列化

Java中使用Jackson进行JSON解析和序列化 1.添加依赖,在Maven的pom.xml文件中添加以下依赖 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.3</version> </dependency> 2.封装JSON解