假设 arow
是以下简单方法中的条目之一ArrayNode
可能有用。它使用抽象而不是我个人更喜欢的JsonNode
一系列嵌套对象,因为提供了一系列实用方法,这些方法在处理此类数据时很有帮助(结构可能未知或非常动态的数据,因此不能被轻松转换为 POJO)。Map
JsonNode
下面的测试用例说明了如何查找行数以及如何打印这些值。要获取值,JsonNode.elements()
请使用该方法,而行数只需调用size()
- 方法即可。
public class ArrayNodeTest {
@Test
public void verifySizeAndPrintRows() throws IOException {
final String jsonStr =
"[{\"key11\":\"value11\",\"key12\":\"value12\"},\n" +
"{\"key21\":\"value21\",\"key22\":\"value22\"},\n" +
"{\"keyn1\":\"valuen1\",\"keyn2\":\"valuen2\"}]";
final ObjectMapper mapper = new ObjectMapper();
final JsonNode jsonNode = mapper.readTree(jsonStr);
// Verify size
Assert.assertEquals(3, jsonNode.size());
// And print rows
for (final JsonNode row : jsonNode) {
final Iterable<JsonNode> iterable = () -> row.elements();
iterable.forEach(elem -> System.out.println(elem.asText()));
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15409 次 |
最近记录: |