Fastjson是一個(gè)Java語(yǔ)言編寫的JSON解析器和生成器,具有快速、輕巧、易用等特點(diǎn),支持JDK1.5及以上版本,廣泛應(yīng)用于各類Java應(yīng)用程序中。
Fastjson提供了豐富的JSON處理方法,可以將Java對(duì)象序列化為JSON字符串,也可以將JSON字符串反序列化成Java對(duì)象,還可以在JSON字符串以及Java對(duì)象之間進(jìn)行相互轉(zhuǎn)換。
以下是一個(gè)快速入門的例子,將Java對(duì)象轉(zhuǎn)換成JSON字符串,并輸出:
public class Person { private String name; private int age; public Person(String n, int a) { name = n; age = a; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } public class Test { public static void main(String[] args) { Person p = new Person("Tom", 18); String jsonString = JSON.toJSONString(p); System.out.println(jsonString); } } 輸出結(jié)果為:{"age":18,"name":"Tom"}
Fastjson還支持靈活的JSON處理方式,比如可以通過(guò)注解方式實(shí)現(xiàn)Java對(duì)象到JSON字符串的轉(zhuǎn)換:
public class Person { @JSONField(name = "nm") private String name; @JSONField(name = "ag") private int age; public Person(String n, int a) { name = n; age = a; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } public class Test { public static void main(String[] args) { Person p = new Person("Tom", 18); String jsonString = JSON.toJSONString(p); System.out.println(jsonString); } } 輸出結(jié)果為:{"ag":18,"nm":"Tom"}
通過(guò)上述例子可以看到,@JSONField注解可以給Java對(duì)象屬性指定一個(gè)別名,從而在生成的JSON字符串中使用指定的屬性名稱。
總之,F(xiàn)astjson是一個(gè)功能強(qiáng)大、易用、性能優(yōu)秀的JSON解析器和生成器,為Java程序員提供了更加便捷的JSON處理方式。