对于最新稳定版本,请使用 Spring Framework 7.0.6spring-doc.cadn.net.cn

内联映射

你也可以通过使用 {key:value} 表示法在表达式中直接表示映射(map)。以下示例展示了如何实现这一点:spring-doc.cadn.net.cn

// evaluates to a Java map containing the two entries
Map inventorInfo = (Map) parser.parseExpression("{name:'Nikola',dob:'10-July-1856'}").getValue(context);

Map mapOfMaps = (Map) parser.parseExpression("{name:{first:'Nikola',last:'Tesla'},dob:{day:10,month:'July',year:1856}}").getValue(context);
// evaluates to a Java map containing the two entries
val inventorInfo = parser.parseExpression("{name:'Nikola',dob:'10-July-1856'}").getValue(context) as Map<*, *>

val mapOfMaps = parser.parseExpression("{name:{first:'Nikola',last:'Tesla'},dob:{day:10,month:'July',year:1856}}").getValue(context) as Map<*, *>

{:} 本身表示一个空的映射(map)。出于性能考虑,如果该映射本身由固定字面量或其他嵌套的常量结构(列表或映射)组成,则会创建一个常量映射来表示该表达式(而不是在每次求值时都新建一个映射)。映射的键是否加引号是可选的(除非键中包含句点(.))。上述示例未使用带引号的键。spring-doc.cadn.net.cn