将关联对象转换成Json的问题 JSON封装单一的对象很简单。但:JSON序列化会以无穷举得方式将所有有关联的对象数据全部抓取。在实际过程中往往不能将这些关联的对象全部以{“对象”:null}的形式存进去,可以加入注解 @JSON(serialize=false) 将对象不抓取。如果要将一个对象不为null的对象全部抓取,而为null的不抓取,怎么实现。求个高手! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你用的什么json库?json-lib在序列化的时候可以提供一个JsonConfig,里面可以提供PropertyFilter,自己写规则过滤就行了 我用的是json-lib-2.1.jar,能把操作写详细点吗? 查了一遍代码,发现这个config传进去了中间却被丢掉了,服了,我给你提供个修改json-lib的方法算了。。JSONObject的toString()方法,你找一下这段 while( keys.hasNext() ){ if( sb.length() > 1 ){ sb.append( ',' ); } Object o = keys.next(); sb.append( JSONUtils.quote( o.toString() ) ); sb.append( ':' ); sb.append( JSONUtils.valueToString( this.properties.get( o ) ) ); }然后在循环里加判断吧简单点就直接在这里判断value是不是空,复杂点就把这一系列对象重载个toString(JsonConfig)的方法出来config的用法是这样 JsonConfig config = new JsonConfig(); config.setJavaPropertyFilter(new PropertyFilter() { public boolean apply(Object source, String name, Object value) {//返回true就被过滤掉,false就显示 return true; } }); 对,就是JsonConfigJsonConfig config = new JsonConfig();config.registerPropertyExclusions(xxxx.class, new String[] { "忽略的字段名"}); eclipse插件开发,如何在向导finished之前执行别的方法 有什么原因使所有的action失效? 麻烦帮我看看这个错误! WebServices教材指点 求指教 ajax与struts2 上传文件 [转载&改编]一步一步开发Spring Framework MVC应用程序-6(Intellij IDEA版) Hibernate的 new Configuration().configure()耗时1分钟正常吗? 急救,怎么老出现错乱界面? 在JBuilder 6 中如何将Bean代码打包成Jar文件? Java循环异常后有重试函数吗? 数据访问层代码命名的小调查
JSONObject的toString()方法,你找一下这段
while( keys.hasNext() ){
if( sb.length() > 1 ){
sb.append( ',' );
}
Object o = keys.next();
sb.append( JSONUtils.quote( o.toString() ) );
sb.append( ':' );
sb.append( JSONUtils.valueToString( this.properties.get( o ) ) );
}
然后在循环里加判断吧
简单点就直接在这里判断value是不是空,复杂点就把这一系列对象重载个toString(JsonConfig)的方法出来
config的用法是这样
JsonConfig config = new JsonConfig();
config.setJavaPropertyFilter(new PropertyFilter() {
public boolean apply(Object source, String name, Object value)
{
//返回true就被过滤掉,false就显示
return true;
}
});
JsonConfig config = new JsonConfig();
config.registerPropertyExclusions(xxxx.class, new String[] {
"忽略的字段名"
});