在Java中,我們常常會遇到需要解析JSON數據的場景。為了方便編程,許多Java JSON庫應運而生,如FastJson、Gson、Jackson等。其中,我們將重點介紹Jackson庫的使用。
首先,我們需要在項目中引入Jackson的依賴。
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.5</version> </dependency>
然后,我們假設有以下JSON數據:
{ "name": "Tom", "age": 18, "gender": "male", "friends": [ { "name": "Jerry", "age": 17 }, { "name": "Kate", "age": 19 } ] }
我們可以先定義一個實體類來保存這些數據:
public class Person { private String name; private int age; private String gender; private List<Person> friends; //省略getter/setter方法 }
接下來,我們可以使用Jackson庫進行解析:
ObjectMapper mapper = new ObjectMapper(); //創建ObjectMapper對象 String jsonStr = "{...}"; //JSON數據字符串 Person person = mapper.readValue(jsonStr, Person.class); //解析JSON數據為Person對象
最后,我們就可以通過Person對象獲取JSON數據中的各個字段了:
System.out.println(person.getName()); //Tom System.out.println(person.getAge()); //18 System.out.println(person.getGender()); //male List<Person> friends = person.getFriends(); for (Person friend : friends) { System.out.println(friend.getName() + " " + friend.getAge()); //Jerry 17 //Kate 19 }
如此便完成了基于Jackson庫的JSON數據解析。