インラインマップ

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

{:} 自体は、空のマップを意味します。パフォーマンス上の理由から、マップ自体が固定リテラルまたはその他のネストされた定数構造(リストまたはマップ)で構成されている場合、式を表す定数マップが作成されます(評価ごとに新しいマップを作成するのではありません)。マップキーの引用はオプションです(キーにピリオド(.)が含まれている場合を除く)。上記の例では、引用符で囲まれたキーを使用していません。