FastJson的用法

1、簡單數據的序列化

複製代碼
pubic class UserInfo implements Serializable{ private String name; private int 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; } } public class TestOne{ public static void main(String[] args){ UserInfo info=new UserInfo(); info.setName("zhangsan"); info.setAge(24); //將對象轉換爲JSON字符串  String strJson=JSON.toJSONString(info); System.out.println("JSON="+strJson); } }
複製代碼

說明:java

  1. 關鍵部分就是上述部分的JSON.toJSONString();
  2. JSON序列化,默認序列化出的JSON字符串中鍵值對是使用雙引號,若是須要單引號的JSON字符串,[eg:String jsonString = JSON.toJSONString(map,   SerializerFeature.UseSingleQuotes);] fastjson序列化時能夠選擇的SerializerFeature有十幾個屬性,你能夠按照本身的須要去選擇使用。  

2、反序列化

複製代碼
public void test3(){ String json="{\"name\":\"chenggang\",\"age\":24}"; //反序列化 UserInfo userInfo=JSON.parseObject(json,UserInfo.class); System.out.println("name:"+userInfo.getName()+", age:"+userInfo.getAge()); } /**泛型的反序列化*/ public static void test4(){ String json="{\"user\":{\"name\":\"zhangsan\",\"age\":25}}"; Map<String, UserInfoBean> map = JSON.parseObject(json, new TypeReference<Map<String, UserInfoBean>>(){}); System.out.println(map.get("user")); }
複製代碼

3、日期格式化

複製代碼
public void test5(){ Date date=new Date(); //輸出毫秒值  System.out.println(JSON.toJSONString(date)); //默認格式爲yyyy-MM-dd HH:mm:ss  System.out.println(JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat)); //根據自定義格式輸出日期 System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat)); }
複製代碼

說明:json

阿里巴巴提供了不少SerializerFeature.XXX 這些都很符合中國人的習慣。比起Jackson各有優劣!this

4、基本經常使用API

複製代碼
 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文本 // public static final Object toJSON(Object javaObject); 將JavaBean轉換爲JSONObject或者JSONArray(和上面方法的區別是返回值是不同的)
複製代碼
相關文章
相關標籤/搜索