public static String stringify(Object object, String... ignoreProperties) {
return JSON.toJSONString(object, new PropertyFilter() {
@Override
public boolean apply(Object object, String name, Object value) {
return !ArrayUtils.contains(ignoreProperties, name);
}
});
}
执行:
.stringify(request, "asyncContext")
java.lang.IllegalStateException: It is illegal to call this method if the current request is not in asynchronous mode (i.e. isAsyncStarted() returns false)
at org.apache.catalina.connector.Request.getAsyncContext(Request.java:1704)
这样忽略属性不对的么?那应该怎样?
6条答案
按热度按时间qkf9rpyu1#
你把 return JSON.toJSONString
换成 return "{}";
试试。
3bygqnnd2#
@kimmking 不是这样,我的意思是object里的ignoreProperties字段不输出,类似
org.springframework.beans.BeanUtils#copyProperties(Object, Object, String...)
khbbv19g3#
我是说问题里的IllegalStateException跟fastjson没关系。
ipakzgxi4#
哦,我搞错了,换成PropertyPreFilter就可以了
还有个问题@kimmking :比如一个类可以实现很多接口(A,B接口),,,有木有那种按某个接口或者类(比如A)tojsonstring的,而不把B接口的方法tosting出来
jm81lzqq5#
这个问题我在切面中取接口访问参数时,当入参是HttpServeletRequest时也会遇到
代码如下
"访问接口参数:" + JSONObject.toJSONString(joinPoint.getArgs()[i])
rks48beu6#
@JavaxinYao thx fro your comment