struts2 配置json格式数据( includeProperties中对list集合的正则配置)

本文详细介绍了Struts2框架中JSON插件的配置方法,包括如何通过includeProperties和excludeProperties参数来精确控制哪些对象属性被序列化为JSON数据。此外,还探讨了不同配置选项的效果对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、listAttachment.*\.realName listAttachment.* 效果一样,元素中所有的属性都json化了

 

 

 

"listAttachment":[{"encodedRealName":"%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1%E4%B9%A6%E5%88%97%E8%A1%A820111223102409.xls","id":"408080b734892f930134896349510003","moduleId":"408080b734892f930134896348570002","moduleName":"inspect","realName":"计划任务书列表20111223102409.xls","storeName":"13251549125930.xls"},{"encodedRealName":"%E7%9B%91%E6%8E%A7%E7%82%B9%E6%8A%A5%E5%91%8A%E5%88%97%E8%A1%A820111229165330.xls","id":"408080b734892f930134896349710004","moduleId":"408080b734892f930134896348570002","moduleName":"inspect","realName":"监控点报告列表20111229165330.xls","storeName":"13251549126251.xls"},{"encodedRealName":"%E9%A1%B9%E7%9B%AE%E5%8F%98%E6%9B%B4%E5%88%97%E8%A1%A820111228204141.xls","id":"408080b734892f930134896349710005","moduleId":"408080b734892f930134896348570002","moduleName":"inspect","realName":"项目变更列表20111228204141.xls","storeName":"13251549126252.xls"},{"encodedRealName":"%E9%AA%8C%E6%94%B6%E8%AE%B0%E5%BD%95%E5%88%97%E8%A1%A820111228210938.xls","id":"408080b734892f930134896349900006","moduleId":"408080b734892f930134896348570002","moduleName":"inspect","realName":"验收记录列表20111228210938.xls","storeName":"13251549126403.xls"},{"encodedRealName":"%E9%AA%8C%E6%94%B6%E7%94%B3%E8%AF%B7%E5%88%97%E8%A1%A820111228211751.xls","id":"408080b734892f9301348963499f0007","moduleId":"408080b734892f930134896348570002","moduleName":"inspect","realName":"验收申请列表20111228211751.xls","storeName":"13251549126714.xls"}]

 

 

2、listAttachment\[\d+\]  仅仅是对象,对对象的属性不json

 

 

 

"listAttachment":[{},{},{},{},{}]

 

 

3、listAttachment\[\d+\]\.realName对指定的对象属性json

 

 

 

 

"listAttachment":[{"realName":"计划任务书列表20111223102409.xls"},{"realName":"监控点报告列表20111229165330.xls"},{"realName":"项目变更列表20111228204141.xls"},{"realName":"验收记录列表20111228210938.xls"},{"realName":"验收申请列表20111228211751.xls"}]

 

4、listAttachment\.length   集合的length属性不起作用,但可以json一个没有数据对象

 

listAttachment":[]

 

 综上可以看出:这种方式可以筛选返回的json数据中哪些属性你是你需要的,哪些属性是你不需要

struts2配置JSON(includeProperties):

< param name = "includeProperties" > < / param > 
includeProperties: 这个属性表示要包含进JSON数据中的数据。

< param name="excludeProperties" >< / param >
excludeProperties: 这个属性表示不要包含进JSON数据中的数据。

< param name="excludeNullProperties" >true< / param >
excludeNullProperties: 这个属性表示去除空数据。

< param name="ignoreHierarchy" >false< / param >
ignoreHierarchy : 这个属性表示是否忽略等级,也就是继承关系,设置为 false 后会将父类和子类的属性一起返回


root:只包含xx对象
excludeProperties :除了xx之外的集合
includeProperties : 包含xx的集合
wrapPrefix :json结果开头添加xx(比如 [)
wrapSuffix :同上,只不过是结尾
ignoreHierarchy :转化时是否忽略继承关系true/false
enumAsBean : 是否将枚举当做一个bean处理
enableGZIP :是否支持gzip压缩输出
noCache :是否缓存
excludeNullProperties : 是否转化输出 null值
statusCode :设置响应代号比如 304
callbackParameter : JSONP跨域访问的回调设置
contentType : 输出类型

转载:http://zhouchaofei2010.iteye.com/blog/1329779

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值