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