json-lib 之jsonConfig详细使用(转)
一,setCycleDetectionStrategy 防止自包含
?
三,setIgnoreDefaultExcludes
?
四,registerJsonBeanProcessor 当value类型是从java的一个bean转化过来的时候,可以提供自定义处理器
?
?
?
以上两个类用于处理当value为null的时候该如何输出。
?
还准备了两个普通的自定义bean
PlainObjectHolder:
?
?
根据以上代码,主要发现_fromMap是不支持使用DefaultValueProcessor 的。
原因看代码:
JSONObject.java
?
?
根据我的注释,?上面的代码显然是存在矛盾。
?
_fromDynaBean是支持DefaultValueProcessor的和下面的C是一样的。
?
C,我们看如果 java 对象是自定义类型的,并且里面的属性包含空值(没赋值,默认是null)也就是上面B还没贴出来的最后一个else
public static void main(String[] args) { JsonTest.testSecurity(); }?
?输出的内容:
?
{"\"}<IMG src='x.jpg' onerror=javascript:alert('说了你不要进来') border=0> {":"" }?
如果把这段内容直接贴到记事本里面,命名为 testSecu.html ,然后用浏览器打开发现执行了其中的 js脚本。这样就容易产生XSS安全问题。?
??