内联 Map
你还可以使用 {key:value} 符号直接在表达式中表示 Map。
下例展示了如何做到这一点:
-
Java
// 评估结果为包含这两个条目的 Java Map
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);
{:} 本身表示一个空 Map。出于性能原因,如果 Map 本身由固定字面量或其他嵌套常量结构(列表或 Map)组成,
则会创建一个常量 Map 来表示该表达式(而不是在每次评估时构建一个新 Map)。
Map 键的引号是可选的(除非键包含句点 (.))。上面的例子没有使用带引号的键。