首页 > 程序开发 > 移动开发 > 其他 >

JSON(三)FaJson的使用

2016-11-22

序列化: 把JavaBean对象转化成JSON格式的文本

序列化: 把JavaBean对象转化成JSON格式的文本

简单序列化

public class Test {

    public static void main(String[] args) {
        UserInfo info = new UserInfo();
        info.setName("zhangsan");
        info.setAge(24);
        // 将对象转换为JSON字符串
        String str_json=JSON.toJSONString(info);
        System.out.println("JSON="+str_json);
    }

}

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 static void test2() { 

      HashMap map = new HashMap(); 
      map.put("username", "zhangsan"); 
      map.put("age", 24); 
      map.put("sex", "男"); 

      //map集合 
      HashMap temp = new HashMap(); 
      temp.put("name", "xiaohong"); 
      temp.put("age", "23"); 
      map.put("girlInfo", temp); 

      //list集合 
      List list = new ArrayList(); 
      list.add("爬山"); 
      list.add("骑车"); 
      list.add("旅游"); 
      map.put("hobby", list); 

      /*
        JSON序列化,默认序列化出的JSON字符串中键值对是使用双引号,如果需要单引号的JSON字符串,
        [eg:String jsonString = JSON.toJSONString(map,
        SerializerFeature.UseSingleQuotes);]

        fastjson序列化时可以选择的SerializerFeature有十几个属性,你可以按照自己的需要去选
        择使用。 
      */ 
      String jsonString = JSON.toJSONString(map); 
      System.out.println("JSON=" + jsonString); 
  }

反序列化: 把JSON格式的文本转化成JavaBean对象

publicvoidtest3(){ 

   String json="{\"name\":\"chenggang\",\"age\":24}"; 
   //反序列化 
   UserInfo userInfo=JSON.parseObject(json,UserInfo.class); 
   System.out.println("name:"+userInfo.getName()+", age:"+userInfo.getAge()); 

} 

/**泛型的反序列化*/ 
publicstaticvoidtest4(){ 
   String json="{\"user\":{\"name\":\"zhangsan\",\"age\":25}}"; 
   Map map = JSON.parseObject(json, newTypeReference>(){}); 
   System.out.println(map.get("user")); 
}

日期格式化:fastjson直接支持日期类型数据的格式化

publicvoidtest5(){ 

     Date date=newDate();   
    //输出毫秒值 
    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)); 

}
相关文章
最新文章
热点推荐