如何在Struts 2 JSON插件中指定地图属性

Sco*_*ott 5 json struts2 map

我正在使用Struts 2和json插件,struts.xml文件中的属性映射通常令人沮丧,但我能够解决它们.

我遇到过一个案例,我无法设置includeProperties来给我我期望的结果.

我经常使用配置表达式

^itemList\[\d+\]\.id,
^itemList\[\d+\]\.name
....
Run Code Online (Sandbox Code Playgroud)

这很好用.

在这种情况下,我想从Map而不是列表(或者是列表成员的子映射)返回数据

如果使用*,则正确打印整个地图,但我不希望地图元素中的所有数据.

^itemList\[\d+\]\map\.*
Run Code Online (Sandbox Code Playgroud)

整个地图都归来了

我尝试了几种不同的格式,但都没有产生结果.

^itemList\[\d+\]\map\[\d+\]\.id
^itemList\[\d+\]\map\[\d+\]\.name
Run Code Online (Sandbox Code Playgroud)

map属性中没有返回任何内容

任何人都有运气的语法来限制地图的内容?

谢谢-Scott

Qua*_*ion 0

1)你的正则表达式很可疑。请注意,在表达式“^itemList[\d+]\map[\d+].id”中,+d 指的是多一位数字,因此地图必须将数字作为键。如果这不是您想要的,那么“.+”可能更合适(一个或多个任何字符)。

2)将Map转换为LinkedHashMap,然后将其视为列表。(没有测试过,可能行不通)