我正在尝试将GSON转换为jackson我有一个返回gson JsonObject的方法。然而,它只创建一个JsonArray,并返回,所以我假设有一个简单的转换。那么杰克逊当量是什么?现在该方法一次只添加一个字符串。所以我需要这样的东西:
JsonNode node = new JsonNode();
node.add("String 1");
node.add("String 2');
但会像这样出现:
["String 1","String 2"]
我可以创建一个List并从那里映射它,但我想这样做。
这似乎太简单了,因为谷歌给了我很多建议,远远超出了这个简单的练习所需要的。
如果有人有一个很好的博客来教导如何将Gson转换为杰克逊那将是很棒的。
答案 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)
如果您只想创建ArrayNode
,ObjectMapper
方法createArrayNode()
以及createObjectNode()
。然后,您可以向其添加条目,以及将节点本身添加到其他数组中,或作为ObjectNode
中的属性添加。
映射器实际构建节点是使用可配置的JsonNodeFactory
完成的;默认实现哪个简单构造标准实现类型之一,如ObjectNode
和ArrayNode
。