我刚刚开始使用Jackson JSON库。 杰克逊是一个非常强大的库,但它有一个非常广泛的API。 很多事情可以通过多种方式完成。 这使得很难在杰克逊找到自己的方式 - 如何知道什么是正确/最好的做事方式?

我为什么要使用这个解决方案:

String json = "{\"a\":2, \"b\":\"a string\", \"c\": [6.7, 6, 5.6, 8.0]}";

ObjectMapper mapper = new ObjectMapper();

JsonNode node = mapper.readValue(json, JsonNode.class);

if (node.isObject()) {

ObjectNode obj = mapper.convertValue(node, ObjectNode.class);

if (obj.has("a")) {

System.out.println("a=" + obj.get("a").asDouble());

}

}

通过这样的解决方案:

String json = "{\"a\":2, \"b\":\"a string\", \"c\": [6.7, 6, 5.6, 8.0]}";

ObjectMapper mapper = new ObjectMapper();

JsonNode node = mapper.readTree(json);

if (node.isObject()) {

ObjectNode obj = (ObjectNode) node;

if (obj.has("a")) {

System.out.println("a=" + obj.get("a").asDouble());

}

}

或者我使用JsonFactory和JsonParser遇到的解决方案,甚至更多的选择...

看来mapper.readValue是最通用的,可以在很多情况下使用:读取JsonNode,ObjectNode,ArrayNode,PoJo等。那么为什么我要使用mapper.readTree?

将JsonNode转换为ObjectNode的最佳方法是什么? 刚刚转换为ObjectNode? 或者使用像mapper.convertValue这样的东西?

java mapper.readtree_java - 杰克逊的readValue和readTree:何时使用哪个? - 堆栈内存溢出...相关推荐

  1. android studio 抽屉,java - Android导航抽屉(由Android Studio默认提供) - 堆栈内存溢出...

    当我按下导航菜单项的更改时,它的颜色为黄色,直到释放时一直按它为默认.我没有明确编写任何代码来设置这些设置. 我该如何停止?请帮忙. 这是我的代码. 主要布局 xmlns:android=" ...

  2. java jtextfield 高度_java - 固定的JTextField的高度和宽度 - 堆栈内存溢出

    我最近一直在使用Java Swing,当我尝试在彼此之间添加3个JTextField时,它们会填充整个JFrame. 但是我希望它们具有固定的高度和宽度. 我能做什么? 由于我是该主题的新手,因此我无 ...

  3. java中图片与像素矩阵转换,java - Java中具有矩阵乘法的图片转换不起作用 - 堆栈内存溢出...

    我正在用Java实现图片转换. 到目前为止,我已经实现了以下类: 矩阵 (持有一个3x3矩阵,该矩阵将用于与Vector相乘) 向量 (用于与变换矩阵相乘以生成原始图像像素的新位置) PictureT ...

  4. oracle 内存错误的是什么意思,java - 是什么导致此JMS错误连接到OracleAQ? - 堆栈内存溢出...

    我从正在侦听OracleAQ的Java服务中收到零星的错误. 它似乎每天晚上都在发生,我不确定发生了什么. 真的是数据库连接问题吗? 还是"出队失败"表明它已连接并且发生了其他事情 ...

  5. java jdbctemplate update_java - Spring JdbcTemplate.update()不更新行 - 堆栈内存溢出

    我在DAO中使用Spring JdbcDaoSupport ,并尝试使用以下查询更新记录. String callersUpdateQuery = "update W67U999S a se ...

  6. java list namevaluepair_java - 数值等效于nameValuePair数组列表吗? - 堆栈内存溢出

    如果必须使用NameValuePair ,则有两种可能的解决方案. 您可以将Map转换为NameValuePair List : List convertParameters(Map paramete ...

  7. 什么情况下java会出现堆溢出_【Java面试题第三期】JVM中哪些地方会出现内存溢出?出现的原因是什么?...

    内存溢出(Out Of Memory)经常简称为OOM,在jvm中主要分为方法区.堆.栈.本地方法栈.程序计数器这几部分,其中程序计数器是唯一不会出现OOM的,也就是说其他区域都会出现OOM.下面来分 ...

  8. java mapper.readtree_Java ObjectMapper.readTree方法代码示例

    import org.codehaus.jackson.map.ObjectMapper; //导入方法依赖的package包/类 public ResponseGenerator handleTex ...

  9. java spark 读取json_apache-spark - 与aws-java-sdk链接时,在读取json文件时发生Spark崩溃 - 堆栈内存溢出...

    让config.json成为一个小的json文件: { "toto": 1 } 我做了一个简单的代码,用sc.textFile读取json文件(因为文件可以在S3,本地或HDFS上 ...

最新文章

  1. 检索COM 类工厂中CLSID 为{00024500-0000-0000-C000-000000000046}组件时失败
  2. python程序间通信,python 实现 socket 进程间通信
  3. easyui messager 消息框 对话框
  4. 8天学通MongoDB——第五天 主从复制
  5. 瑞友天翼4.0在XP下安装注意事项
  6. 怎么设置qq信息同步服务器,QQ输入法如何设置网络同步
  7. 基于触发机制的脚本系统
  8. php调用数据二行一组,PHPCMS v9指定行数从第2条或第N条开始调用数据的方法
  9. 学点数学(5)--线性规划对偶形式的理解
  10. 计算t-test 的C程序
  11. 基于类的命令行notebook的实现
  12. Argument list too long 文件数过多
  13. Kylin设置JDBC配置greenplum数据源
  14. mysql:多表查询方式
  15. 微信开发笔记:生成带参数的公众号二维码
  16. HTML如何判断是否星期六,判断今天是星期几的5种方法(原生js)
  17. 双十一回血,2222红包送给大家!
  18. 7.5.3 QListWidgetItem条目视图介绍
  19. python scatter参数详解_Python中scatter函数参数及用法详解
  20. 算法工程师,上岸了!

热门文章

  1. 想了解Xtrabackup备份原理和常见问题分析,看这篇就够了
  2. 如何查看jsplumb.js的API文档(YUIdoc的基本使用)#华为云·寻找黑马程序员#
  3. 计算机桌面文字显示软件,电脑桌面添加文字_电脑桌面添加文字软件
  4. 邢台学计算机的技校有哪些,邢台技校有哪些,邢台技校排名
  5. Java项目架构演进和SpringCloud总结
  6. Failed to update system registry. Need permission to add?
  7. Rmarkdown与Rnotebook使用心得
  8. Ubuntu18.04上手配置入门指南
  9. 【图像处理基础知识】-傅里叶变换
  10. Spark DataFrame小试牛刀