一个JsonNode是杰克逊的树模型为JSON,它可以读取JSON成JsonNode实例,写一个JsonNode出来JSON。通过创建ObjectMapper实例并调用readValue()方法,使用Jackson将JSON读取到JsonNode中。我们可以使用JsonNode类的get()方法访问字段,数组或嵌套对象。我们可以用返回一个有效字符串表示asText()方法和节点的值转换为Java int的使用asInt中()的方法JsonNode类。

在以下示例中,我们可以访问JsonNode的JSON字段,数组和嵌套对象。

示例import com.fasterxml.jackson.databind.*;

import java.io.*;

public class ParseJSONNodeTest {

public static void main(String args[]) {

String jsonStr = "{ \"name\" : \"Raja\", \"age\" : 30," +

" \"technologies\" : [\"Java\", \"Scala\", \"Python\"]," +

" \"nestedObject\" : { \"field\" : \"value\" } }";

ObjectMapper objectMapper = new ObjectMapper();

try {

JsonNode node = objectMapper.readValue(jsonStr, JsonNode.class);

JsonNode nameNode = node.get("name");

String name = nameNode.asText();

System.out.println(name);

JsonNode ageNode = node.get("age");

int age = ageNode.asInt();

System.out.println(age);

JsonNode array = node.get("technologies");

JsonNode jsonNode = array.get(1);

String techStr = jsonNode.asText();

System.out.println(techStr);

JsonNode child = node.get("nestedObject");

JsonNode childField = child.get("field");

String field = childField.asText();

System.out.println(field);

} catch (IOException e) {

e.printStackTrace();

}

}

}

输出结果Raja

30

Scala

value

java jsonnode 创建_如何在Java中访问JsonNode的JSON字段,数组和嵌套对象?相关推荐

  1. java 正则表达式 开头_如何在Java中修复表达式的非法开头

    java 正则表达式 开头 您是否遇到过这个令人难以置信的错误,想知道如何解决它? 让我们仔细阅读一下,研究如何解决表达式Java非法开头错误. 这是一个动态错误,这意味着编译器会发现某些不符合Jav ...

  2. java soap 头_如何在Java中添加Soap标头

    我有一个来自oracle的NO.net Web服务,要访问,我需要添加soap标头.如何在Java中添加soap标头? Authenticator.setDefault(new ProxyAuthen ...

  3. java实现递归算法_如何在Java中实现二进制搜索算法而无需递归

    java实现递归算法 by javinpaul 由javinpaul 流行的二进制搜索算法的迭代实现,用于在排序数组中查找元素. (An Iterative implementation of the ...

  4. java插入图片_如何在java窗体程序中添加图片

    打开eclipse,创建一个java工程项目,创建完后在src下新建一个类Window,由于要插入图片,所以还在工程目录下创建一个文件夹imgs,里面放了一张60*60的图片,创建后的工程目录和图片, ...

  5. java安卓计时器_如何在android中设置计时器

    通过java.util.Timer和java.util.TimerTask使用计时器的标准Java方法在Android中运行良好,但是你应该知道这个方法创建了一个新线程. 您可以考虑使用非常方便的Ha ...

  6. java jcombobox长度_如何在JToolBar中设定JComboBox的大小?

    如何在JToolBar中设定JComboBox的大小? 我设计了一个JToolBar,并且在上边添加了一个JComboBox,可是我发现这个JComboBox长度无法控制,它将JToolBar上剩余空 ...

  7. java cpu监控_如何在Java中监视计算机的CPU,内存和磁盘使用情况?

    问题 我想用Java监视以下系统信息: 当前CPU使用率**(百分比) 可用内存*(免费/总计) 可用磁盘空间(空闲/总计)*请注意,我的意思是整个系统可用的总内存,而不仅仅是JVM. 我正在寻找一种 ...

  8. java redis 缓存_如何在 Java 中实现一个 redis 缓存服务

    缓存服务的意义 为什么要使用缓存?说到底是为了提高系统的运行速度.将用户频繁访问的内容存放在离用户最近,访问速度最快的地方,提高用户的响应速度.一个 web 应用的简单结构如下图. web 应用典型架 ...

  9. ubuntu java 关闭进程_如何在Ubuntu中关闭Tomcat?

    问题描述 我试图关闭tomcat,如下所示,但是tomcat似乎仍在运行(http://localhost:8080 /) vandegraff@vandegraff-laptop:~$ /usr/s ...

最新文章

  1. 统计文件中每个单词出现的次数
  2. 编译小米android系统软件,为Android加入busybox工具之小米(开发版本)
  3. struts2值栈,OGNL表达式,interceptor
  4. 显示多个页面退出登陆_软件测试小白如何第一次登陆时给LINUX的配置网络
  5. python网址编码转换_刚学python,抓中文网页遇到编码的问题,怎么转换也不行……...
  6. 9.4.3 BINARY与VARBINARY类型
  7. java 如何执行dig 命令_linux dig 命令使用方法
  8. vc2012编译speex (编译通过)
  9. 应用时间序列分析案例操作--基于SAS软件,以北京市1980-2009年降水量为对象
  10. 微信小程序 下拉刷新
  11. 人的思想的成长过程是一个潜意识不断成长并替代思维完成细节工作的过程
  12. Ubuntu 系统备份 恢复
  13. 手机沙盒隔离软件_虚拟隔离沙箱|隔离沙箱(BufferZone Pro)下载 v4.07 免费版 - 121下载站...
  14. 2017第三届美亚杯全国电子数据取证大赛团队赛wp
  15. 如何给电脑安装Windows双系统
  16. 用ul制作html表单,要利用 display属性把段落P、标题h1、表单form、列表ul和li都可以定义成行内块元素,其属性值为...
  17. MySQL数据库事务、mybatis框架、spring框架、springmvc框架、永和大王门店管理系统(框架第二部分)
  18. 包头钢铁职业技术学院题库计算机,计算机-包头钢铁职业技术学院.DOC
  19. win10企业版安装.Net Framework3.5失败
  20. matlab一阶振型图,[工学]多自由度系统的振动响应.ppt

热门文章

  1. 【测试】这到底是前端还是后端Bug
  2. python 进度条库 tqdm
  3. String转List,String转数组,List转ArrayList,数组转List
  4. 9款日志采集和管理工具对比,选型必备!
  5. [ECCV2018] 端到端的弯曲文本检测与识别
  6. Clos Network 与 Leaf Spine 架构
  7. crm开源代码crm源码_CRM触手可及
  8. 【js】canvas字体不生效,解决字体加载过慢问题
  9. 非典型2D游戏引擎 Orx 源码阅读笔记(1) 总体结构
  10. 文心一言你还没体验吗?来一睹其绘画风采吧