Structured Data Type (SDT) オブジェクトまたは
ビジネスコンポーネント変数の JSON 表現で文字列を返します。
&String = &var.
ToJson( [ &Boolean ]
)
入力値の説明:
&String
Character データタイプに基づく項目属性または変数です。
&var
SDT またはビジネスコンポーネントに基づく変数です。
&Boolean
オプションのパラメーターです。ビジネスコンポーネント変数のみに適用されます。True の場合、返される文字列には補助変数 (古い値、モード、初期化フラグ) が含まれます。False の場合は、レコードデータのみが含まれます。既定値は True です。
ジェネレーター: .NET、
.NET Framework、
Java
1) 次の SDT があるとします:
Data Provider オブジェクトを定義します (DPOneCountry などの名前をつけます)。Country SDT を
KB エクスプローラーからデータプロバイダーの [ Source ] にドラッグし、次のようにデータを入力します:
Country
{
Name = "Uruguay"
Language = "Spanish"
Coordinates
{
Latitude = 30
Longitude = 35
}
Cities
{
Item
{
Item = "Montevideo"
}
Item
{
Item = "Paysandu"
}
}
}
Web Panel オブジェクトで、Country SDT に基づいて &Country という名前の変数を定義します。
Web Panel の目的は、SDT に基づいて変数のデータを JSON 形式に変換することです。これを行うため、エンドユーザーがボタンを押すと、そのボタンに関連付けられたイベントが、DPOneCountry データプロバイダーを使用して 1 つの国のデータをメモリー (&Country 変数内) にロードします。その後、Json メソッドが &Country 変数に適用され、データが JSON 形式に変換されます。最後に Web パネルの [ Web Layout ] で表示されます。
Web パネルの [ Web Layout ] を次のように設計します:
次のコードを Web パネルのボタンと関連付けて定義します:
Event 'ToJson'
&SDTCountry = DPOneCountry()
&Json=&SDTCountry.ToJson()
Endevent
使用する変数は次のとおりです:
&Json Type: Character(200)
&Country Type: Country
実行時にエンドユーザーがボタンをクリックすると、国のデータが &Country 変数にロードされ、JSON 形式に変換されます。&Json 変数には次の内容が含まれます:
{"Name":"Uruguay","Language":"Spanish","Coordinates":{"Latitude":30,"Longitude":35},"Cities":{{"Item":"Montevideo"},{"Item":"Paysandu"}}}
2) ToJson メソッドを、
GeoPoint データタイプに基づくメンバーを含む SDT に基づく変数に適用できます。変数は、Well KnownText 標準 (WKT) を使用してプレーンテキストとして表現 (シリアル化) されます。
以下のように定義された構造化データタイプがあるとします:
SDT1
{
CharacterMember: Character
GeoPointMember: GeoPoint
}
構造化データタイプに基づいて変数を初期化します。その後、以下のコードを定義します (たとえば
プロシージャーのソース内または
Web パネル /
パネルのイベント内で):
&VarBasedOnSDT1.ToJson()
結果は以下のようになります:
[ {"CharacterMember":"","GeoPointMember":"POINT(-56.10 -33.01)"} ]
参考情報
FromJson メソッド