內聯對映

您也可以使用 {key:value} 語法直接在表示式中表示對映。以下示例展示瞭如何實現:

  • Java

  • Kotlin

// 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<*, *>

單獨的 {:} 表示一個空對映。出於效能考慮,如果對映本身由固定字面量或其他巢狀常量結構(列表或對映)組成,則會建立一個常量對映來表示該表示式(而不是在每次求值時都構建一個新的對映)。對映鍵是否引用是可選的(除非鍵包含句點 (.))。上面的示例未使用引用鍵。