Fastjson常用方法

來源:互聯網
上載者:User

標籤:orm   api   集合   code   int   hash   .json   void   str   

Fastjson API入口類是com.alibaba.fastjson.JSON,常用的序列化操作都可以在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文本,boolean參數true能設定格式,false則不能
public static final Object toJSON(Object javaObject); 將JavaBean轉換為JSONObject或者JSONArray(和上面方法的區別是傳回值是不一樣的)   

 

代碼示範:

// 實體類轉換成json    public static void voToJson() {        UserInfo user = new UserInfo();        user.setName("張三");        user.setCar(null);        user.setLike(new String[] { "吃", "喝" });        // 注意:UserInfo中所有的屬性都會顯示出來,沒有set的以預設值的方式顯示(值為null的除外)        String jsonstr = JSON.toJSONString(user);        System.out.println("實體類轉json格式字串 :" + jsonstr);    }    // list集合的轉換    public static void listToJson() {        List<UserInfo> list = new ArrayList<UserInfo>();        UserInfo userinfo1 = new UserInfo();        UserInfo userinfo2 = new UserInfo();        userinfo1.setAge(12);        userinfo2.setAge(20);        list.add(userinfo1);        list.add(userinfo2);        String json = JSON.toJSONString(list, true);        System.out.println("List集合轉json格式字串 :" + json);    }    // 字元數組JSON轉化為數組    public static void StringArrayToJSON() {         String s = "[{\"name\":\"aa\",\"age\":10},{\"name\":\"bb\",\"age\":20}]";                     List<UserInfo> list = JSON.parseArray(s, UserInfo.class);        for (UserInfo ui:list) {                        System.out.println(ui.getName());        }    }    // 複雜資料類型    public static void Complexdata() {        //map集合1        HashMap<String, Object> map = new HashMap<String, Object>();        map.put("username", "zhangsan");        map.put("age", 24);        map.put("sex", "男");                // map集合2        HashMap<String, Object> temp = new HashMap<String, Object>();        temp.put("name", "xiaohong");        temp.put("age", "23");                //map集合2裝map集合1中        map.put("girlInfo", temp);        // list集合        List<String> list = new ArrayList<String>();        list.add("爬山");        list.add("騎車");        list.add("旅遊");        //map集合1裝了List集合        map.put("hobby", list);                String jsonString = JSON.toJSONString(map);        System.out.println("複雜資料類型:" + jsonString);    }    // JSON轉成實體類    public static void Deserialization() {        String json = "{\"name\":\"cc\",\"age\":24}";        UserInfo userInfo = JSON.parseObject(json, UserInfo.class);        System.out.println("姓名是:" + userInfo.getName() + ", 年齡是:"                + userInfo.getAge());    }    // 格式化日期    public static void DateFormate() {        Date d = new Date();        System.out.println("時間:" + d);        System.out.println("輸出毫秒值:" + JSON.toJSONString(d));        System.out.println("預設格式為:"                + JSON.toJSONString(d,                        SerializerFeature.WriteDateUseDateFormat));        System.out.println("自訂日期:"                + JSON.toJSONStringWithDateFormat(d, "yyyy-MM-dd",                        SerializerFeature.WriteDateUseDateFormat));    }    // Json轉為實體    public static void Json2Eetity() {        String json = "{\"name\":\"cc\",\"age\":24}";        UserInfo userInfo = JSON.parseObject(json, UserInfo.class);        System.out.println("輸出對象的地址:" + userInfo.toString());        System.out.println("輸出對象的名字:" + userInfo.getName());    }

 

Fastjson常用方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.