首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >杰克逊如何在不进行造型的情况下将JsonNode转换为ArrayNode?

杰克逊如何在不进行造型的情况下将JsonNode转换为ArrayNode?
EN

Stack Overflow用户
提问于 2013-05-28 09:14:36
回答 3查看 240.9K关注 0票数 139

我正在将我的JSON库从org.json改为Jackson,并且我想迁移以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
JSONObject datasets = readJSON(new URL(DATASETS));
JSONArray datasetArray =  datasets.getJSONArray("datasets");

现在,在杰克逊身上,我有以下几点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ObjectMapper m = new ObjectMapper();
JsonNode datasets = m.readTree(new URL(DATASETS));      
ArrayNode datasetArray = (ArrayNode)datasets.get("datasets");

但是我不喜欢那里的演员阵容,有没有ClassCastException的可能性?在org.json中有没有等同于getJSONArray的方法,以便在它不是数组的情况下有适当的错误处理?

EN

回答 3

Stack Overflow用户

发布于 2020-05-07 13:15:35

在Java 8中,你可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import java.util.*;
import java.util.stream.*;

List<JsonNode> datasets = StreamSupport
    .stream(obj.get("datasets").spliterator(), false)
    .collect(Collectors.toList())
票数 15
EN

Stack Overflow用户

发布于 2018-11-30 14:15:31

我假设在一天结束时,您希望通过迭代来使用ArrayNode中的数据。要做到这一点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Iterator<JsonNode> iterator = datasets.withArray("datasets").elements();
while (iterator.hasNext()) 
        System.out.print(iterator.next().toString() + " "); 

或者,如果您对streams和lambda函数感兴趣:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import com.google.common.collect.Streams;
Streams.stream(datasets.withArray("datasets").elements())
    .forEach( item -> System.out.print(item.toString()) )
票数 3
EN

Stack Overflow用户

发布于 2022-03-03 04:19:27

通过调用JsonNode的iterator()方法获得迭代器,然后继续...

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  JsonNode array = datasets.get("datasets");

  if (array.isArray()) {
      Iterator<JsonNode> itr = array.iterator();
      /* Set up a loop that makes a call to hasNext().
      Have the loop iterate as long as hasNext() returns true.*/
      while (itr.hasNext()) {
          JsonNode item=itr.next();
          // do something with array elements
      }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16788213

复制
相关文章
使用 Jackson – 将字符串转换为 JsonNode 对象
本快速指南的主要目的是如何使用 Jackson 2 来将一个字符串转换为 JsonNode 对象。
HoneyMoose
2021/09/08
9.9K0
使用 Jackson – 将字符串转换为 JsonNode 对象
镜之Json Compare Diff | 技术创作特训营第一期
因公司业务功能当中有一个履历的功能,它有多个版本的JSON数据需要对比出每个版本的不同差异节点并且将差异放置在一个新的JSON当中原有结构不能变动,差异节点使用数组对象的形式存储,前端点击标红即可显示多个版本的节点差异数据如下图
杨不易呀
2023/08/26
5950
镜之Json Compare Diff | 技术创作特训营第一期
7. Jackson用树模型处理JSON是必备技能,不信你看
上篇文章 体验了一把ObjectMapper在数据绑定方面的应用,用起来还是蛮方便的有木有,为啥不少人说它难用呢,着实费解。我群里问了问,主要原因是它不是静态方法调用,并且方法名取得不那么见名之意…
YourBatman
2020/11/24
1.3K0
7. Jackson用树模型处理JSON是必备技能,不信你看
7. Jackson用树模型处理JSON是必备技能,不信你看
上篇文章 体验了一把ObjectMapper在数据绑定方面的应用,用起来还是蛮方便的有木有,为啥不少人说它难用呢,着实费解。我群里问了问,主要原因是它不是静态方法调用,并且方法名取得不那么见名之意......
YourBatman
2020/08/25
1.9K0
7. Jackson用树模型处理JSON是必备技能,不信你看
Java Jackson 中如何 Pending JSON 对象到数组中
这个是一个数组格式的 JSON 数据,如何使用 ArrayNode 来生成数据呢?
HoneyMoose
2022/01/06
4.8K0
Java Jackson 中如何 Pending JSON 对象到数组中
自定义Processor组件
现在我们要自定义一个Processor,假设它叫MyProcessor.java,那么这个Java文件写在哪里呢?
@阿诚
2020/09/01
1.8K0
自定义Processor组件
将tensor转换为图像_tensor转int
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
11.5K0
Java Jackson 中的 JsonNode 和 ObjectNode
在我们使用 Java 的 Jackson 的时候,我们通常会使用到 JsonNode 和 ObjectNode ,以及 ArrayNode 对象。
HoneyMoose
2022/01/06
1.7K0
Java Jackson 中的 JsonNode 和 ObjectNode
【安全研究】Jackson 学习笔记
Jackson框架是基于Java平台的一套数据处理工具,被称为"最好的Java Json解析器",目前Jackson主要有1.x和2.x两个分支版本,其中1.x的类库中包命名以org.codehaus.jackson.xxx开头,2.x类库中包命令com.fastxml.jackson.xxx开头,Jackson框架包含以下3个核心库:
Al1ex
2023/03/29
1.9K0
【安全研究】Jackson 学习笔记
DevOps如何在不牺牲安全性的情况下迁移到云端
企业采用DevOps意味着开发进行将比以往任何时候都要快。那么如何确保一切都是安全的,尤其是将业务迁移到云端时? 调研机构Gartner公司预测, 2022年全球云计算服务市场规模和增长率几乎是整体I
CloudBest
2019/09/17
6970
DevOps如何在不牺牲安全性的情况下迁移到云端
java map 转string_java-将Map <String,Object>转换为Map <String,String>
Map map = new HashMap(); //Object is containing String
全栈程序员站长
2022/08/25
12.3K0
放弃FastJson!一篇就够,Jackson的功能原来如此之牛(万字干货)
在上篇《经过多方调研,最终还是决定禁用FastJson!》中,讲了FastJson的基本使用以及存在的不确定性问题,所以最终决定在项目中放弃使用,进而选择市面上比较主流,Spring Boot默认绑定的JSON类库:Jackson。
程序新视界
2021/03/02
3.8K0
Java XML和JSON:Java SE的文档处理,第1部分
XML和JSON对我很重要,我很感谢Apress允许我写一本关于它们的书。在这篇Java Q&A文章中,我将简要介绍我的新书第二版,Java XML和JSON。我还将提供两个有用的演示,如果我有足够的空间,我本来希望将其包括在书中。
银河1号
2019/04/12
5.7K0
Java XML和JSON:Java SE的文档处理,第1部分
XML和JSON对我很重要,我很感谢Apress允许我写一本关于它们的书。在这篇Java Q&A文章中,我将简要介绍我的新书第二版,Java XML和JSON。我还将提供两个有用的演示,如果我有足够的空间,我本来希望将其包括在书中。
银河1号
2019/05/15
6.3K0
使用WebP Server在不改变URL的情况下将网站图像转换为WebP
WebP Server这是一个基于 Golang 的服务器,允许您动态提供 WebP 图像,在不改变图片URL路径的情况下,自动将JPEG、PNG、BMP、GIF等图像转换为WebP格式,从而减小图片体积,降低流量消耗和提高加载速度。
星哥玩云
2022/08/13
2.2K0
使用WebP Server在不改变URL的情况下将网站图像转换为WebP
如何在不导致服务器宕机的情况下,用 PHP 读取大文件
协作翻译 原文:How to Read Big Files with PHP (Without Killing Your Server) 链接:https://www.sitepoint.com/performant-reading-big-files-php/ 译者:Tocy, Tony, 南宫冰郁, Tot_ziens 作为PHP开发人员,我们并不经常需要担心内存管理。PHP 引擎在我们背后做了很好的清理工作,短期执行上下文的 Web 服务器模型意味着即使是最潦草的代码也不会造成持久的影响。 很少情况下
企鹅号小编
2018/02/11
1.6K0
如何在不导致服务器宕机的情况下,用 PHP 读取大文件
Jackson用法详解
Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。Jackson 社区相对比较活跃,更新速度也比较快, 从 Github 中的统计来看,Jackson 是最流行的 json 解析器之一 。 Spring MVC 的默认 json 解析器便是 Jackson。 Jackson 优点很多。 Jackson 所依赖的 jar 包较少 ,简单易用。与其他 Java 的 json 的框架 Gson 等相比, Jackson 解析大的 json 文件速度比较快;Jackson 运行时占用内存比较低,性能比较好;Jackson 有灵活的 API,可以很容易进行扩展和定制。
三分恶
2020/07/16
15.5K0
java将字符串转换为json对象的方法_java jsonobject转string
在与服务器交互的时候,我们往往会使用json字符串,今天的例子是java对象转化为字符串,
全栈程序员站长
2022/11/08
21.3K0
《前端实战总结》如何在不刷新页面的情况下改变URL
由于我们常用的http请求一般是基于XHR对象的实现或者fetch实现,这种请求操作并不会触发浏览器url的变化,这样虽然也能正常请求数据并渲染到页面,但是如果用户在当前页面操作了某个get请求并得到了某条数据,想通过链接将当前看到的界面分享给其他人时,那么此时浏览器url并不会变化,通过链接只能访问到初始化的数据界面,此时并不能达到理想的效果。如下图所示:
徐小夕
2021/11/16
1.9K0
《前端实战总结》如何在不刷新页面的情况下改变URL
点击加载更多

相似问题

杰克逊如何在不进行造型的情况下将JsonNode转换为ArrayNode?

50

杰克逊:检查ArrayNode是否包含JsonNode

11

向ArrayNode添加新项,并在JsonNode中进行更新

176

杰克逊中不区分大小写的JsonNode

20

Assertj不与杰克逊JsonNode合作

117
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文