版本约定

  • Jackson 版本:2.11.0
  • Spring Framework 版本:5.2.6.RELEASE
  • Spring Boot 版本:2.3.0.RELEASE

小贴士:截止到本文,本系列前面所有示例都只仅仅导入jackson-core而已,后续若要新增 jar 包我会额外说明,否则相同

什么叫读 JSON?就是把一个 JSON 字符串 解析为对象 or 树模型嘛,因此也称作解析 JSON 串。Jackson 底层流式 API 使用JsonParser来完成JSON 字符串的解析。

最简使用 Demo

准备一个 POJO:

@Data
public class Person {private String name;private Integer age;
}

测试用例:把一个 JSON 字符串绑定(封装)进一个 POJO 对象里

@Test
public void test1() throws IOException {String jsonStr = "{\"name\":\"YourBatman\",\"age\":18}";Person person = new Person();JsonFactory factory = new JsonFactory();try (JsonParser jsonParser = factory.createParser(jsonStr)) {// 只要还没结束"}",就一直读while (jsonParser.nextToken() != JsonToken.END_OBJECT) {String fieldname = jsonParser.getCurrentName();if ("name".equals(fieldname)) {jsonParser.nextToken();person.setName(jsonParser.getText());} else if ("age".equals(fieldname)) {jsonParser.nextToken();person.setAge(jsonParser.getIntValue());}}System.out.println(person);}
}

运行程序,输出:

Person(name=YourBatman, age=18)

成功把一个 JSON 字符串的值解析到 Person 对象。你可能会疑问,怎么这么麻烦?那当然,这是底层流式 API,纯手动档嘛。你获得了性能,可不要失去一些便捷性嘛。

小贴士:底层流式 API 一般面向“专业人士”,应用级开发使用高阶 API ObjectMapper即可。当然,读完本系列就能让你完全具备“专业人士”的实力

JSON 字符串是如何被解析的?JsonParser 了解一下相关推荐

  1. 4. JSON字符串是如何被解析的?JsonParser了解一下

    公司不是你家,领导不是你妈.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BA ...

  2. php curl get utf 8,curl get获取到一个utf-8 json字符串,用json_decode解析说格式不对。...

    $ch = curl_init();//初始化curl curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFE ...

  3. mysql解析json_mysql解析简单json字符串

    很多时候,我们需要在sql里面直接解析json字符串.这里针对mysql5.7版本的分水岭进行区分. 1.对于mysql5.7以上版本 使用mysql的内置函数JSON_EXTRACT(column, ...

  4. Gson解析json字符串,并封装成ListT

    最近一个项目中,需要将从服务器上获取到的JSON字符串转换为对象,大概研究了一下,发现在项目中很多地方都要用到,而且有的时候需要返回的是一个集合,所以写了个方法,留着自用. public class ...

  5. ajax post 表单和 json 字符串

    在使用 koa2 的中间件 koa-bodyparser 解析客户端发来的 json 字符串时,发现解析异常,分析后发现,这锅 koa 不背,是发送 post 请求的问题. [发送表单] $.ajax ...

  6. 也谈C#之Json,从Json字符串到类代码

    也谈C#之Json,从Json字符串到类代码 原文:也谈C#之Json,从Json字符串到类代码  阅读目录 json转类对象 逆思考 从json字符串自动生成C#类  json转类对象 自从.net ...

  7. json字符串、json对象、数组之间的转换

    记录一下 json字符串转化成json对象 // jquery的方法 var jsonObj = $.parseJSON(jsonStr) //js 的方法 var jsonObj = JSON.pa ...

  8. 【JSON教科书】什么是JSON,JSON字符串有什么作用?(JSON学习总结)

    文章目录 @[toc] 一.了解Json 3.1 什么是Json 二.简单Json语法 2.1 语法 3.2.1 Json语法记忆规则 三.Json字符串的手写转换 JavaBean类对象 Json简 ...

  9. Java(24):GSON - JsonParser将 JSON 字符串解析为 Java 对象的树结构

    GSONJsonParser类可以将 JSON 字符串或流解析为 Java 对象的树结构. 解析过程中会用到:JsonParse,JsonElement,还有 JsonObject 和 JsonArr ...

最新文章

  1. 如何啃下C++这块复杂又难学的硬骨头?
  2. JS 设计模式四 -- 模块模式
  3. android生成大分辨率图片,自动生成Android不同分辨率下的图片
  4. 大数据入门(一)-大数据概念和特点(1)
  5. mysql数据库比较,各数据库不同之处
  6. MySQL8安装,初始化,登录和修改密码
  7. mysql 表死锁_MySQL Innodb表导致死锁日志情况分析与归纳
  8. docker中使用的镜像加速器可以自己生成
  9. selenium学习一
  10. SQL 语句语法简介(一)
  11. 一个canvas的demo
  12. swift 第三方库SwiftyJSON
  13. GPRS DTU是什么?其工作原理是什么? (转自aerkate)
  14. 三维动画在计算机上的应用,计算机图技术在三维动画中的应用.doc
  15. 使用opencv读取rtsp流的图片帧进行目标检测,并将处理好的图像推到rtsp服务器上
  16. 如何检查您附近(或任何地方)的空气质量
  17. fuz--2128(最长子串)
  18. H5浏览器下无插件、低延时、RTSP视频流直播
  19. stata学习笔记|异方差问题
  20. Python图片处理模块PIL(pillow)

热门文章

  1. 让Windows XP也能自动登录
  2. 考研英语核心词汇梳理三
  3. 【cs224n学习作业】Assignment 1 - Exploring Word Vectors
  4. Redis内存分析工具之redis-rdb-tools的安装与使用
  5. 如何解决java中的安全问题_如何解决java中“使用了未经检查或不安全的操作 请使用 -Xlint:unchecked 重新编译 ”的问题...
  6. Mac 端口号8080被占用
  7. 2022杭电多校赛第八场
  8. CSS - 移动端布局(一)关键的前置知识
  9. docker创建容器
  10. yolanda的性能测试经验