简单的Jackson Array字符串添加

时间:2018-03-26 18:09:53

标签: jackson gson

我正在尝试将GSON转换为jackson我有一个返回gson JsonObject的方法。然而,它只创建一个JsonArray,并返回,所以我假设有一个简单的转换。那么杰克逊当量是什么?现在该方法一次只添加一个字符串。所以我需要这样的东西:

 JsonNode node = new JsonNode();
 node.add("String 1");
 node.add("String 2');

但会像这样出现:

["String 1","String 2"]

我可以创建一个List并从那里映射它,但我想这样做。

这似乎太简单了,因为谷歌给了我很多建议,远远超出了这个简单的练习所需要的。

如果有人有一个很好的博客来教导如何将Gson转换为杰克逊那将是很棒的。

2 个答案:

答案 0 :(得分:1)

这有点棘手 - 您通过JsonNode工厂方法创建一个数组节点:

ArrayNode arrNode = (ArrayNode)new JsonNode().withArray("my_array");  // arg is arrray propertry name
arrNode.add("String 1");
arrNode.add("String 2');

答案 1 :(得分:1)

如果您只想创建ArrayNodeObjectMapper方法createArrayNode()以及createObjectNode()。然后,您可以向其添加条目,以及将节点本身添加到其他数组中,或作为ObjectNode中的属性添加。

映射器实际构建节点是使用可配置的JsonNodeFactory完成的;默认实现哪个简单构造标准实现类型之一,如ObjectNodeArrayNode