Java Jackson 中如何 Pending JSON 对象到数组中
2023-04-18 17:00:29 时间
希望的输出格式为:
[ {
"title" : "欢迎来到 USRealEstate 经纪和服务",
"image_url" : "https://cdn.usreio.com/discourse-uploads/original/1X/fdefbad432b0e756611496fc9e13e5bdc16c8eef.jpeg",
"created_at" : "2021-05-02T18:17:49.413Z"
}, {
"title" : "不可或缺的美国房屋检查",
"image_url" : "https://cdn.usreio.com/discourse-uploads/optimized/1X/47bcb58402b4df4cce4ec3106fda57f08fcc4321_2_1024x418.png",
"created_at" : "2021-10-19T18:12:04.224Z"
}, {
"title" : "关于 USRealEstate - 不动产",
"image_url" : null,
"created_at" : "2021-05-02T19:53:48.489Z"
}]
这个是一个数组格式的 JSON 数据,如何使用 ArrayNode 来生成数据呢?
解决办法
我们可以使用下面的解决办法:
首先初始化一个 ArrayNode 对象
ArrayNode newsletterArrayNode = mapper.createArrayNode();
在上面的代码中 mapper 为 ObjectMapper 对象。
使用的是下面的代码进行实例化的
ObjectMapper mapper = new ObjectMapper();
因为是数组,但是数组中存储的是 JsonNode,因此我们可以使用下面的代码:
for (JsonNode topicsNode : topicsNodes) {
ObjectNode newsletterNode = mapper.createObjectNode();
newsletterNode.set("title", topicsNode.get("title"));
newsletterNode.set("image_url", topicsNode.get("image_url"));
newsletterNode.set("created_at", topicsNode.get("created_at"));
newsletterArrayNode.add(newsletterNode);
}
代码说明
上面代码中首先针对 newsletterArrayNode 中的 ArrayNode ,我们需要先初始化一个 ObjectNode 对象。
然后将内容设置到 ObjectNode 中。
在完成 newsletterNode 的对象初始化后可以使用 add 方法,将内容添加到 ArrayNode 对象中。
因为我最后只需要一个数组,因此直接将 newsletterArrayNode 对象输出就可以了。
也可以转换为字符串来存储。
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击