(一)jsonConfig.setExcludes()用法
(除去或者过滤一些属性或者字段的值【用不到的一些值】)
1,申明一个String的格式的字符串
String str="{'String':'JSON','Id':'1','name':'cook','age':'20','address':'shiyan'}";
2,实例化一个JSoncongif的对象
JsonConfig jsonConfig=new JsonConfig();
3.调用setsetExcludes方法 过滤一些属性的值 比喻 “age”,“address”。
jsonConfig.setExcludes(new String[]{"age","address"});
/*过滤了属性age,addres的值*/
4.将String的字符串转换成JSon格式
JSONObject jsonObject=JSONObject.fromObject(str,jsonConfig);
5,输出json里面的数据
System.out.println(jsonObject);
System.out.println(jsonObject.get("String"));
System.out.println(jsonObject.get("Id"));
System.out.println(jsonObject.get("name"));
System.out.println(jsonObject.get("age"));
System.out.println(jsonObject.get("address"));
结果:
{"String":"JSON","Id":"1","name":"cook"}
JSON
1
cook
null
null
(2) jsonConfig.setJsonPropertyFilter()的用法以及作用
1,实例化一个JsonConfig对象
JsonConfig jsonConfig=new JsonConfig();
2. 调用 jsonConfig.setJsonPropertyFilter()方法
jsonConfig.setJsonPropertyFilter(new PropertyFilter() {
//apply是PropertyFilter的方法
public boolean apply(Object arg0, String arg1, Object arg2) {
//arg0是指属性的类
//arg1是指属性的字段
//arg2是指属性的值
//判断条件(arg0是不是当前Emp类并且过滤属性为name的值)
return arg0 instanceof Emp && arg1.equals("name");
}
});
3,实例化一个Emp对象
Emp emp=new Emp("zhangsan", 20, "shiyan");
4,将emp对象转换成Json格式
JSONObject jsonObject=JSONObject.fromObject(emp, jsonConfig);
5,输出jsop里面的值
System.out.println(jsonObject);
System.out.println("id---"+jsonObject.get("id"));
System.out.println("anme---"+jsonObject.get("name"));
System.out.println("age---"+jsonObject.get("age"));
System.out.println("address---"+jsonObject.get("address"));
6.结果
{"address":"shiyan","age":20,"id":0}
id---0
name---null
age---20
address---shiyan