快捷搜索:  汽车  科技

java json对象合并(JavaJackson中如何)

java json对象合并(JavaJackson中如何)因为是数组,但是数组中存储的是 JsonNode,因此我们可以使用下面的代码:ObjectMapper mapper = new ObjectMapper();ArrayNode newsletterArrayNode = mapper.createArrayNode();在上面的代码中 mapper 为 ObjectMapper 对象。使用的是下面的代码进行实例化的

希望的输出格式为:

[ { "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 来生成数据呢?

java json对象合并(JavaJackson中如何)(1)

解决办法

我们可以使用下面的解决办法:

首先初始化一个 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 对象输出就可以了。

也可以转换为字符串来存储。

猜您喜欢: