Fastjson簡單使用方法


一、簡單數據的序列化

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);
 }

}

說明:

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

二、反序列化

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"));
 }

三、日期格式化

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));

}

說明:

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

四、基本常用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(和上面方法的區別是返回值是不一樣的)

 

JackSon下載:http://repo1.maven.org/maven2/com/alibaba/fastjson/ 與   https://yunpan.cn/cu2iEKCZjXfak  訪問密碼 8291


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM