JSON メッセージを読み取るとき、パーサーは対応するメッセージ・ツリーのエレメント・タイプに JSON 値をマップすることで、入力ビット・ストリームからメッセージ・ツリーを作成します。 メッセージ・ツリーを出力ビット・ストリームにシリアライズする際に、ツリーのエレメント・タイプが JSON 値タイプにマップされます。
JSON パーサーは、JSON 値を以下の表のルールに従ってメッセージ・ツリーのエレメント・タイプにマップします。
ビット・ストリームにある JSON 値 | 解析された結果 |
---|---|
ストリング | CHARACTER |
以下の形式で表される JSON 数値
|
INTEGER |
以下の形式で表される JSON 数値
|
FLOAT |
ブール | BOOLEAN |
NULL | NULL |
JSON シリアライザーは、メッセージ・ツリーのエレメントを以下の表のルールに従って JSON 値タイプにマップします。
メッセージ・ツリーのエレメント・タイプ | JSON ドメインによってシリアライズされた結果 | |
---|---|---|
JSON タイプ | Format | |
BIT | ストリング | 任意の個数の 0 と 1 |
BLOB | ストリング | 偶数の 16 進数字 |
CHARACTER | ストリング | char データ (CHAR 内の二重引用符 (") または円記号 (¥) をエスケープする JSON ストリングを伴う) |
DATE | ストリング | 標準 ESQL ストリング表記 (yyyy-mm-dd) |
TIME、GMTTIME | ストリング | 標準 ESQL ストリング表記 (hh:mm:ss.ffffff) |
INTEGER | 数値 |
|
FLOAT | 数値 |
|
DECIMAL | 数値 |
10 進リテラル「NAN」、「INF」などは、JSON へのシリアライズ時にサポートされていません。 |
BOOLEAN | ブール | true または false シリアライザーは、true 値または false 値を持つブール論理ツリー・エレメントのみをシリアライズします。不明値はサポートされていません。 |
NULL | NULL | NULL |
ROW | オブジェクト | 注: ROW を JSON ドメイン・ツリーに直接割り当てた場合、JSON 配列は生成されません。
次の JSON ビット・ストリームが生成されます。
|
ROW | 配列 | ROW タイプから JSON 配列を生成するために、JSON.Array フィールドも設定されます。
次の JSON ビット・ストリームが生成されます。
|