FastJSON是一个Java语言编写的高性能的、功能完善的编程JSON库。今天在开发中,简单应用了一下,做一下笔记。
步骤如下:
一、下载并导入fastjson.jar资源包。百度网盘下载地址:
链接:https://pan.baidu.com/s/11lUUFrpQ84-6my3LAa4xXw 密码:8fvh
如何导入:直接将这个jar包添加到libs文件夹下即可。
二、使用方法(常用的)
1、类的序列化及反序列化。
序列化:
Tb_user tb_user=new Tb_user(1,"A人员","18","男","XX理工学院");
String jsonObj=JSON.toJSONString(tb_user, SerializerFeature.DisableCircularReferenceDetect);
Log.i("结果:", jsonList);
反序列化:
Tb_user tb_user2=JSON.parseObject(jsonObj, Tb_user.class);
Log.i("结果:",tb_user3.get_name()+"--"+tb_user3.get_graduate_school());
2、List集合的序列化及反序列化。
序列化:
Tb_user tb_user=new Tb_user(1,"A人员","18","男","XX理工学院");
Tb_user tb_user01=new Tb_user(2,"B人员","18","女","XX理工学院");
List<Tb_user> list=new ArrayList<Tb_user>();
list.add(tb_user);
list.add(tb_user01);
String jsonList=JSON.toJSONString(list, SerializerFeature.DisableCircularReferenceDetect);
Log.i("结果:", jsonList);
反序列化:
String infoString="";
List<Tb_user> list1=JSON.parseArray(jsonList, Tb_user.class);
for (Tb_user tb_user3 : list1) {
infoString=infoString+tb_user3.get_name()+"--"+tb_user3.get_graduate_school()+";"+"\r\n";
Log.i("结果:", infoString);
}
3、list<map>的序列化和反序列。
序列化:
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("key1", "One");
map1.put("key2", "Two");
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("key1", "Three");
map2.put("key2", "Four");
list.add(map1);
list.add(map2);
String listJson = JSON.toJSONString(list);
反序列化:(获取的结果可以再用一个类进行封装处理,参考上面类的反序列化)
JSONArray j = JSONArray.parseArray(listJson);
String infoString="";
for(int i=0; i<j.size(); i++){
Log.i("结果:",String.valueOf(j.get(i)));
infoString=infoString+String.valueOf(j.get(i))+"--";
}
tv_info.setText(infoString);