我有一个具有JsonObject
列表并使用google GSON库的应用程序。我需要将此列表发送到另一个服务,该服务使用Jackson库进行JSON序列化和反序列化,该服务提取每个JsonObject
并进行一些处理。
我有处理JSON的经验,使用Jersey资源中的JsonNode
的jackson进入我的Web服务。但是在这种情况下,它将是一个JsonNode数组。
[
{
"id" : 1,
"firstName": "hello",
"lastName": "world"
},
{
"id" : 2,
"firstName": "first",
"lastName": "last"
}
]
所以我的问题是使用Jackson
的哪种数据类型,我应该能够处理JsonNode
的数组吗?
答案 0 :(得分:0)
找到了解决方案,我们可以使用相同的JsonNode
处理JSON数组,然后可以使用JsonNode
的size方法来确定JsonArray
中有多少个元素类型为JsonNode
。
代码示例:
public void test(JsonNode jsonNode) throws IOException {
int size = jsonNode.size();
HashMap<String, String> map = new HashMap<>();
while (size > 0) {
JsonNode message = jsonNode.get(--size);
map.put(message.get("id").toString(), message.toString());
}
}