[英]A JSon Array - Format & Parsing
我有以下代碼用於解析帶有 Jackson 的文件中的 json 數據。
ObjectMapper mapper = new ObjectMapper();
JsonFactory jsonFactory = new JsonFactory();
try(BufferedReader br = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/foos.json")))) {
Iterator<Foo> fooItr = mapper.readValues( jsonFactory.createParser(br), Foo.class);
fooItr.forEachRemaining(System.out::println);
}catch(Exception ex){ .. }
不適用於以下格式的 JSon 數組
[
{...},
{...}
]
但為一種格式工作
{...}
{...}
什么是 JSon 數組格式的正確解析方法?
將列表作為類而不是 Foo 類傳遞,其中使用映射器進行序列化
嘗試這個 -
List<Foo> tempList = new ArrayList<>();
JsonFactory jsonFactory = new JsonFactory();
try(BufferedReader br = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/foos.json")))) {
tempList = mapper.readValues( jsonFactory.createParser(br), tempList.getClass());
Iterator<Foo> fooItr = tempList.listIterator();
fooItr.forEachRemaining(System.out::println);
}catch(Exception ex){ .. }
我找到了如下解決方案
ObjectMapper mapper = new ObjectMapper();
List<MyDataHolder> list = mapper.readValue(
new InputStreamReader(getClass().getResourceAsStream("/foos.json")),
new TypeReference<ArrayList<MyDataHolder>>() {});
json 數據在一個文件中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.