Jackson是一個流行的Java庫,可用于解析和序列化JSON數(shù)據(jù)。其中之一是將JSON數(shù)據(jù)解析為List的能力,如下所示:
ObjectMapper objectMapper = new ObjectMapper(); String json = "[{\"name\":\"John\", \"age\":30},{\"name\":\"Mary\", \"age\":25}]"; List<Person> personList = objectMapper.readValue(json, new TypeReference<List<Person>>(){}); System.out.println(personList.get(0).getName()); // John System.out.println(personList.get(1).getAge()); // 25
這段代碼演示了如何使用Jackson將JSON數(shù)據(jù)解析為Person對象的List。
假設(shè)我們有以下Person類:
public class Person { private String name; private int age; // getters and setters }
要將JSON數(shù)據(jù)解析為Person的List,我們可以使用ObjectMapper的readValue方法。在這個方法中,我們需要提供一個JSON字符串和一個TypeReference作為參數(shù)。
TypeReference是一個抽象類,用于處理Java中的泛型。在這種情況下,我們需要使用一個繼承自TypeReference的匿名內(nèi)部類來告訴Jackson我們想要將JSON解析為Person對象的List。
最后,我們可以訪問personList中的對象,就像訪問普通的List一樣。我們可以使用get(index)方法來獲取List中的對象,并使用相應(yīng)的getter方法訪問對象的屬性。
總的來說,Jackson是Java中解析和序列化JSON數(shù)據(jù)的一個很好的選擇。使用ObjectMapper類和TypeReference類,我們可以輕松地將JSON數(shù)據(jù)解析為我們需要的對象列表。