在Java編程中,通常會(huì)遇到將Json數(shù)據(jù)轉(zhuǎn)換為對(duì)象集合的需求。使用Json轉(zhuǎn)換工具,可以很方便地實(shí)現(xiàn)這個(gè)操作。
String jsonStr = "[{\"name\":\"Tom\",\"age\":20},{\"name\":\"Jerry\",\"age\":22}]"; List<Person> personList = JSON.parseArray(jsonStr, Person.class);
首先,需要引入阿里巴巴的fastjson庫(kù)。然后就可以使用JSON類(lèi)的parseArray()方法將Json字符串轉(zhuǎn)換為L(zhǎng)ist集合。
其中,Person是一個(gè)自定義的Java類(lèi),需要與Json數(shù)據(jù)的格式對(duì)應(yīng)。
public class Person { private String name; private int age; // getters and setters }
如果Json數(shù)據(jù)的格式是一個(gè)嵌套的對(duì)象,可以使用JsonArray對(duì)象和JsonObject對(duì)象分別表示它們,并通過(guò)遍歷獲取嵌套的數(shù)據(jù)。
String jsonStr = "{\"name\":\"Tom\",\"age\":20,\"pet\":{\"name\":\"Kitty\",\"type\":\"cat\"}}"; JsonObject jsonObj = JSON.parseObject(jsonStr); Person person = new Person(); person.setName(jsonObj.getString("name")); person.setAge(jsonObj.getIntValue("age")); JsonObject petObj = jsonObj.getJSONObject("pet"); Pet pet = new Pet(); pet.setName(petObj.getString("name")); pet.setType(petObj.getString("type")); person.setPet(pet);
在這個(gè)例子中,需要定義Pet類(lèi)作為Person類(lèi)的一個(gè)屬性。并通過(guò)getJSONObject()方法獲取到嵌套的JsonObject對(duì)象,再根據(jù)它的鍵值獲取到嵌套的數(shù)據(jù)。
public class Pet { private String name; private String type; // getters and setters }
總之,使用Json轉(zhuǎn)換工具可以方便地將Json數(shù)據(jù)轉(zhuǎn)換為Java對(duì)象集合,節(jié)省開(kāi)發(fā)時(shí)間和提高效率。