MLE JavaScriptでのJSONのサポート
JavaScriptとJSONデータ型の間でサポートされる変換。
SQLのJSON
型の値は、JavaScript値と相互に変換できます。SQLのJSON
型とJavaScript値の間の型マッピングは、node-oracledb
ドライバで使用される型マッピングと連携しています。
SQLのJSON
型の値は、次のようにJavaScript値に変換されます:
-
JSON
値がオブジェクトの場合、入力オブジェクトのすべてのフィールドを変換することで同等のJavaScriptオブジェクトに変換されます。 -
JSON
値が配列の場合、入力配列のすべての要素を変換することで同等のJavaScript配列に変換されます。 -
JSON
値がスカラー値の場合、表A-3の型マッピングに従って同等の値に変換されます。
表A-3 JSON属性の型と値からJavaScriptの型と値へのマッピング
JSON属性の型または値 | JavaScriptの型または値 |
---|---|
null |
null |
false |
false |
true |
true |
NUMBER |
Number |
VARCHAR2 |
String |
RAW |
Uint8Array |
CLOB |
String |
BLOB |
UintArray |
DATE |
Date |
TIMESTAMP |
Date |
INVERVAL YEAR TO MONTH |
OracleIntervalYearToMonth |
INTERVAL DAY TO SECOND |
OracleIntervalDayToSecond |
BINARY_DOUBLE |
Number |
BINARY_FLOAT |
Number |
配列(複数) | 配列(単一) |
オブジェクト(複数) | 単一のプレーンなJavaScriptオブジェクト |
JavaScript型の値は、次のようにSQLのJSON
型に変換されます:
-
JavaScript値が表A-4の最初の列のスカラー型のいずれかと一致する場合は、対応する型のJSON値に変換されます。
-
JavaScript値が配列の場合、配列のすべての要素を変換することで、JSON配列に変換されます。
Uint8Array
値は配列ではなくスカラーとして扱われるため、Uint8Array
値はJSON配列ではなくRAW
型に変換されます。 -
JavaScript値がオブジェクトであり、配列ではなく、表A-4にリストされているJavaScript型/クラスのいずれにも一致していない場合は、JSONオブジェクトに変換されます。オブジェクトの各フィールドは、適切なマッピングに従って変換されます。
表A-4 JavaScriptの型と値からJSONの属性と値へのマッピング
JavaScriptの型または値 | JSON属性の型または値 |
---|---|
null |
null |
undefined |
null |
string |
VARCHAR2 |
true |
true |
false |
false |
Uint8Array |
RAW |
Number |
NUMBER |
Date |
DATE |
OracleNumber |
NUMBER |
OracleDate |
DATE |
OracleTimestamp |
TIMESTAMP |
OracleTimestampTZ |
TIMESTAMP WITH TIME ZONE |
OracleIntervalYearToMonth |
INVERVAL YEAR TO MONTH |
OracleIntervalDayToSecond |
INTERVAL DAY TO SECOND |
配列(単一) | 配列(単一) |
オブジェクト(単一) | オブジェクト(単一) |
親トピック: MLEの型変換