FastJSON序列化的使用

来源:互联网 发布:淘宝网购物女裤 编辑:程序博客网 时间:2024/05/17 09:45

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