リテラル JSON 文字列を割り当てることで、ダイナミック・エンティティを作成することもできます。リテラル JSON コンストラクタの {} と [] は、%New() コンストラクタの代わりに使用できます。例えば、set x=##class(%DynamicArray).%New() の代わりに set x=[] を使用して動的配列を作成できます。%New() とは異なり、リテラル JSON コンストラクタは、プロパティや要素を指定する JSON リテラル文字列を取ることもできます。したがって、以下の単純な代入文を使用して、上記の例の dynObject1 とまったく同じオブジェクトを作成できます。
set dynObject2 = {"SomeNumber":42,"SomeString":"a string"}
set dynObject2.SomeArray = ["an array element",123]
この例では、コンストラクタごとに 1 つの文を使用していますが、配列コンストラクタを同じくらい簡単にオブジェクト・コンストラクタ内で入れ子にすることができます。
dynObject1 と dynObject2 がまったく同じであることを示すために、これらのオブジェクトを、%ToJSON() メソッドによって返されたシリアル化された JSON 文字列として表示できます。
write "object 1: "_dynObject1.%ToJSON(),!,"object 2: "_dynObject2.%ToJSON()
object 1: {"SomeNumber":42,"SomeString":"a string","SomeArray":["an array element",123]}
object 2: {"SomeNumber":42,"SomeString":"a string","SomeArray":["an array element",123]}