Fastjson是一款高性能的Java JSON處理庫,它的json轉復雜對象功能非常強大。下面我們來看一下如何使用Fastjson完成json轉復雜對象。
首先導入Fastjson的Jar包,然后我們需要定義一個復雜對象,在這里我定義了一個Person類。
public class Person {
private String name;
private int age;
private List<String> hobbies;
private Map<String, String> address;
//getters and setters 省略
}
接下來,我們可以使用Fastjson將json字符串轉換成這種復雜對象。示例如下:
String jsonStr = "{\"name\":\"張三\",\"age\":24,\"hobbies\":[\"打游戲\",\"看電影\"],\"address\":{\"province\":\"廣東\",\"city\":\"深圳\"}}";
Person person = JSON.parseObject(jsonStr, Person.class);
System.out.println(person.getName()); //輸出:張三
System.out.println(person.getAge()); //輸出:24
System.out.println(person.getHobbies()); //輸出:[打游戲, 看電影]
System.out.println(person.getAddress()); //輸出:{province=廣東, city=深圳}
通過上述代碼,我們成功將json字符串轉換成了Person對象,并且可以訪問該對象的屬性和方法。
需要注意的是,Fastjson在轉換時會根據json字符串的屬性名來自動匹配對象中的屬性,并將屬性值賦給對象。如果json字符串中的屬性名與對象屬性名不一致,可以在對象屬性上使用@JSONField注解來進行匹配。
除了上述方法外,Fastjson還提供了許多其他功能來處理json字符串,例如將對象轉換成json字符串、從json字符串中獲取指定鍵值對等等。感興趣的讀者可以去官網了解更多。