希望的输出格式为:
[ { "title" : "欢迎来到 USRealEstate 经纪和服务", "image_url" : ";, "created_at" : "2021-05-02T18:17:49.413Z" }, { "title" : "不可或缺的美国房屋检查", "image_url" : ";, "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 = ma();
在上面的代码中 mapper 为 ObjectMapper 对象。
使用的是下面的代码进行实例化的
ObjectMapper mapper = new ObjectMapper();
因为是数组,但是数组中存储的是 JsonNode,因此我们可以使用下面的代码:
for (JsonNode topicsNode : topicsNodes) { ObjectNode newsletterNode = ma(); new("title", ("title")); new("image_url", ("image_url")); new("created_at", ("created_at")); new(newsletterNode); }
代码说明
上面代码中首先针对 newsletterArrayNode 中的 ArrayNode ,我们需要先初始化一个 ObjectNode 对象。
然后将内容设置到 ObjectNode 中。
在完成 newsletterNode 的对象初始化后可以使用 add 方法,将内容添加到 ArrayNode 对象中。
因为我最后只需要一个数组,因此直接将 newsletterArrayNode 对象输出就可以了。
也可以转换为字符串来存储。