淺談fastjson的常用使用方法
更新時間:2016年08月23日 11:05:02 投稿:jingxian
下面小編就為大家?guī)硪黄獪\談fastjson的常用使用方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
如下所示:
package Demo; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Vector; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import entity.Userinfo; /** * fastjson 是一個性能很好的 Java 語言實現(xiàn)的 JSON 解析器和生成器,來自阿里巴巴的工程師開發(fā)。 主要特點: * 1.快速FAST(比其它任何基于Java的解析器和生成器更快,包括jackson) 強大(支持普通JDK類包括任意Java Bean * 2.Class、Collection、Map、Date或enum) 零依賴(沒有依賴其它任何類庫除了JDK) * */ public class TestFastJson { public static void main(String[] args) { String json = "{\"name\":\"chenggang\",\"age\":24}"; String arrayAyy = "[[\'馬云',50],null,[\'馬化騰',30]]"; // Entity2json("zhangsan", 24); // list2Json(); Complexdata(); // Deserialization(json); // DateFormate(new Date()); // Json2Eetity(json); // String2JSONArray(arrayAyy); } // 實體轉(zhuǎn)為Json public static void Entity2json(String name, int age) { Userinfo info = new Userinfo(name, age); String str_json = JSON.toJSONString(info); // System.out.println("實體轉(zhuǎn)化為Json" + str_json); } // list轉(zhuǎn)Json public static void list2Json() { List<Userinfo> list = new ArrayList<Userinfo>(); Userinfo userinfo1 = new Userinfo("lisi", 15); Userinfo userinfo2 = new Userinfo("wangwu", 16); list.add(userinfo1); list.add(userinfo2); String json = JSON.toJSONString(list, true); System.out.println("List集合轉(zhuǎn)json格式字符串 :" + json); } // 字符數(shù)組轉(zhuǎn)化為JSon private static void String2JSONArray(String arrayAyy) { JSONArray array = JSONArray.parseArray(arrayAyy); System.out.println("數(shù)組:" + array); System.out.println("數(shù)組長度: " + array.size()); Collection nuCon = new Vector(); nuCon.add(null); array.removeAll(nuCon); System.out.println("數(shù)組:" + array); System.out.println("數(shù)組長度: " + array.size()); } // 復雜數(shù)據(jù)類型 public static void Complexdata() { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("username", "zhangsan"); map.put("age", 24); map.put("sex", "男"); // map集合 HashMap<String, Object> temp = new HashMap<String, Object>(); temp.put("name", "xiaohong"); temp.put("age", "23"); map.put("girlInfo", temp); // list集合 List<String> list = new ArrayList<String>(); list.add("爬山"); list.add("騎車"); list.add("旅游"); map.put("hobby", list); String jsonString = JSON.toJSONString(map); System.out.println("復雜數(shù)據(jù)類型:" + jsonString); } public static void Deserialization(String json) { Userinfo userInfo = JSON.parseObject(json, Userinfo.class); System.out.println("姓名是:" + userInfo.getName() + ", 年齡是:" + userInfo.getAge()); } // 格式話日期 public static void DateFormate(Date date) { System.out.println("輸出毫秒值:" + JSON.toJSONString(date)); System.out.println("默認格式為:" + JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat)); System.out.println("自定義日期:" + JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat)); } // Json轉(zhuǎn)為實體 private static void Json2Eetity(String json) { Userinfo userInfo = JSON.parseObject(json, Userinfo.class); System.out.println("輸出對象的地址:" + userInfo.toString()); System.out.println("輸出對象的名字:" + userInfo.getName()); } }
以上Demo所用到的實體類:
package entity; public class Userinfo { private static final long serialVersionUID = 1L; private String name; private int age; public Userinfo() { super(); } public Userinfo(String name, int age) { super(); this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } }
以上這篇淺談fastjson的常用使用方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis-Plus非表字段的三種處理方法小結(jié)
這篇文章主要介紹了MyBatis-Plus非表字段的三種處理方法小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08Springboot居然可以設(shè)置動態(tài)的Banner(推薦)
這篇文章主要介紹了Springboot居然可以設(shè)置動態(tài)的Banner,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03Seata集成Mybatis-Plus解決多數(shù)據(jù)源事務問題
當進行業(yè)務操作時,訂單發(fā)生異常 ,進行了回滾操作,因為在不同的數(shù)據(jù)庫實例中,余額卻扣除成功,此時發(fā)現(xiàn)數(shù)據(jù)不一致問題,本文給大家介紹Seata集成Mybatis-Plus解決多數(shù)據(jù)源事務問題,感興趣的朋友一起看看吧2023-11-11Java util.List如何實現(xiàn)列表分段處理
這篇文章主要介紹了Java util.List如何實現(xiàn)列表分段處理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09Java接收text/event-stream格式數(shù)據(jù)的詳細代碼
這篇文章主要介紹了java接收text/event-stream格式數(shù)據(jù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07java面向?qū)ο笤O(shè)計原則之接口隔離原則示例詳解
這篇文章主要為大家介紹了java面向?qū)ο笤O(shè)計原則之接口隔離原則的示例詳解,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進步早日升職加薪2021-10-10