FastJSON序列化的使用

FastJSON序列化的使用

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 parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean
  • public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
  • public static final List parseArray(String text, Class 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。


有关类库的一些说明

JSON反序列化没有真正数组,本质类型都是List

  • SerializeWriter:相当于StringBuffer
  • JSONArray:相当于List
  • JSONObject:相当于Map

片段代码

一些序列化的代码,例如:

public static void json2List(){ 
    //List -> JSON array 
    List<Bar> barList = new ArrayList<Bar>(); 
    barList.add(new Bar()); 
    barList.add(new Bar()); 
    barList.add(new Bar()); 
    String json= JSON.toJSONString(barList, true); 
    System.out.println(json); 
    //JSON array -> List 
    List<Bar> barList1 = JSON.parseArray(json,Bar.class); 
    for (Bar bar : barList1) { 
      System.out.println(bar.toString()); 
    } 
  } 
public static void json2Map(){ 
    //Map -> JSON 
    Map<String,Bar> map = new HashMap<String, Bar>(); 
    map.put("a",new Bar()); 
    map.put("b",new Bar()); 
    map.put("c",new Bar()); 
    String json = JSON.toJSONString(map,true); 
    System.out.println(json); 
    //JSON -> Map 
    Map<String,Bar> map1 = (Map<String,Bar>)JSON.parse(json); 
    for (String key : map1.keySet()) { 
      System.out.println(key+":"+map1.get(key)); 
    } 
  } 
public static void array2JSON(){ 
    String[] arr_String    = {
   
   "a","b","c"}; 
    String json_arr_String = JSON.toJSONString(arr_String,true); 
    System.out.println(json_arr_String); 
    JSONArray jsonArray = JSON.parseArray(json_arr_String); 
    for (Object o : jsonArray) { 
      System.out.println(o); 
    } 
    System.out.println(jsonArray); 
  } 
public static void array2JSON2(){ 
    Bar[] arr_Bar    = {new Bar(),new Bar(),new Bar()}; 
    String json_arr_Bar = JSON.toJSONString(arr_Bar,true); 
    System.out.println(json_arr_Bar); 
    JSONArray jsonArray = JSON.parseArray(json_arr_Bar); 
    for (Object o : jsonArray) { 
      System.out.println(o); 
    } 
    System.out.println(jsonArray); 
  } 
 public static void map2JSON(){ 
    Map map = new HashMap(); 
    map.put("a","aaa"); 
    map.put("b","bbb"); 
    map.put("c","ccc"); 
    String json=JSON.toJSONString(map); 
    System.out.println(json); 
    Map map1 = JSON.parseObject(json); 
    for (Object o : map.entrySet()) { 
      Map.Entry<String,String> entry = (Map.Entry<String,String>)o; 
      System.out.println(entry.getKey()+"--->"+entry.getValue()); 
    } 
  }

猜你喜欢

转载自blog.csdn.net/u014120638/article/details/52595587