參考資料:
http://www.java265.com/fastjson/
下文是市面上最全面的一篇fastjson的文章,具體內容如下所示:
一、Fastjson簡介
Fastjson是一個Java語言撰寫的JSON處理器, 1、遵循http://json.org標準,為其官方網站收錄的參考實作之一, 2、功能qiang打,支持JDK的各種型別,包括基本的JavaBean、Collection、Map、Date、Enum、泛型, 3、無依賴,不需要例外額外的jar,能夠直接跑在JDK上, 4、開源,使用Apache License 2.0協議開源,http://code.alibabatech.com/wiki/display/FastJSON/Home 如果獲得Fastjson? SVN:http://code.alibabatech.com/svn/fastjson/trunk/ WIKI:http://code.alibabatech.com/wiki/display/FastJSON/Home Issue Tracking:http://code.alibabatech.com/jira/browse/FASTJSON 如果你使用了Maven,maven repository配置如下: <repository> <id>opensesame</id> <name>Alibaba OpenSource Repsoitory</name> <url>http://code.alibabatech.com/mvn/releases/</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> pom.xml檔案中加入依賴依賴: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.48</version>
<!--(起碼1.2.48以上)因為這個版本以下存在漏洞--> </dependency> 如果沒有使用maven,可以直接下載: http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.2.48/fastjson-1.2.48.jar http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.2.48/fastjson-1.2.48-sources.jar 常見API說明 Fastjson的最主要的使用入口是com.alibaba.fastjson.JSON import com.alibaba.fastjson.JSON; public static final Object parse(String text); // 把JSON文本parse為JSONObject或者JSONArray public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse為JavaBean public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 public static final String toJSONString(Object object); // 將JavaBean序列化為JSON文本 public static final String toJSONString(Object object, boolean prettyFormat); // 將JavaBean序列化為帶格式的JSON文本 public static final Object toJSON(Object javaObject); 將JavaBean轉換為JSONObject或者JSONArray, 例:
類User和Group: public class User { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } public class Group { private Long id; private String name; private List<User> users = new ArrayList<User>(); public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } } 測驗代碼 import com.alibaba.fastjson.JSON; Group group = new Group(); group.setId(22L); group.setName("admin"); User guestUser = new User(); guestUser.setId(88L); guestUser.setName("maoxiao"); User rootUser = new User(); rootUser.setId(99L); rootUser.setName("java265"); group.getUsers().add(guestUser); group.getUsers().add(rootUser); String jsonString = JSON.toJSONString(group); System.out.println(jsonString); Decode 代碼示例: Group group2 = JSON.parseObject(jsonString, Group.class);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/500294.html
標籤:Java
