json是一种使用分厂广泛的轻量级数据交换格式,他能将对象义字符串的形式保存,类似于XML但是Json更小、更快,更易解析.
在java中有各种各样的java解析方式,今天我们一起学习jsonlib框架.为了以后使用方便一下程序将以工具类形式体现
-
准备
- Json-lib下载及使用,工具下载地址:http://sourceforge.net/projects/json-lib/?source=directory
- 导入依赖包
- commons-beanutils-1.8.0.jar
- commons-collections-3.2.1.jar
- commons-lang-2.5.jar
- commons-logging-1.1.1.jar
- ezmorph-1.0.6.jar
- json-lib-2.4-jdk15.jar
- 创建工具类 JsonLibUtil
-
java对象转换为Json字符串
- 基本java对象的转换
// 传入对象 obj public static <T> String object2Json(T obj){ JSONObject jsonObject = JSONObject.fromObject(obj); String str =jsonObject.toString(); return str; }
- List 集合对象的转换
//传入List集合 public static String list2Json(List obj){ JSONArray array = JSONArray.fromObject(obj); return array.toString(); }
- Map 集合的转换
public static String object2Json(Map obj){ JSONObject jsonObject = JSONObject.fromObject(obj); String str =jsonObject.toString(); return str; }
- 将xml转换为json
public static String xml2Json(String xml){ JSONArray array = (JSONArray) new XMLSerializer().read(xml); return array.toString(); }
-
过滤字段
public static JsonConfig excludeField(String...field){ JsonConfig config =new JsonConfig(); config.setExcludes(field); config.setIgnoreDefaultExcludes(true); config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); return config ; }
- 传入需要过滤的字段,可以传入多个过滤参数,在转换的时候将JsonConfig传入
JsonConfig jsonConfig = JsonlibUtils.excludeField("id","name"); JSONObject.fromObject(obj, jsonConfig)
- 传入需要过滤的字段,可以传入多个过滤参数,在转换的时候将JsonConfig传入
网友评论