

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# TO\$1JSON 関数
<a name="TO_JSON"></a>

TO\$1JSON 関数は、入力式を JSON 文字列表現に変換します。この関数は、さまざまなデータ型 (数値、文字列、ブール値など) の対応する JSON 表現への変換を処理します。

TO\$1JSON 関数は、構造化データ (データベース行や JSON オブジェクトなど) を JSON のようなよりポータブルで自己記述型の形式に変換する必要がある場合に役立ちます。これは、JSON 形式のデータを期待する他のシステムやサービスとやり取りする必要がある場合に特に役立ちます。

## 構文
<a name="TO_JSON-syntax"></a>

```
to_json(expr[, options])
```

## 引数
<a name="TO_JSON-arguments"></a>

expr**  
JSON 文字列に変換する入力式。値、列、またはその他の有効な SQL 式を指定できます。

*options*:  
JSON 変換プロセスをカスタマイズするために使用できるオプションの一連の設定オプション。これらのオプションには、null 値の処理、数値の表現、特殊文字の処理などが含まれます。

## 戻り値
<a name="TO_JSON-returns"></a>

指定された構造体値を持つ JSON 文字列を返します。

## 例
<a name="TO_JSON-examples"></a>

次の例では、名前付き構造体 (構造化データの一種) を JSON 文字列に変換します。最初の引数 `(named_struct('a', 1, 'b', 2)`) は、`to_json()`関数に渡される入力式です。値 1 の「a」と値 2 の「b」の 2 つのフィールドを持つ名前付き構造体を作成します。to\$1json() 関数は、名前付き struct を引数として受け取り、JSON 文字列表現に変換します。出力は です。これは`{"a":1,"b":2}`、名前付き構造体を表す有効な JSON 文字列です。

```
SELECT to_json(named_struct('a', 1, 'b', 2));
 {"a":1,"b":2}
```

次の例では、タイムスタンプ値を含む名前付き構造体を、カスタマイズされたタイムスタンプ形式の JSON 文字列に変換します。最初の引数 (`named_struct('time', to_timestamp('2015-08-26', 'yyyy-MM-dd'))`) は、タイムスタンプ値を含む単一のフィールド「time」を持つ名前付き構造体を作成します。2 番目の引数 (`map('timestampFormat', 'dd/MM/yyyy')`) は、単一のキーと値のペアを持つマップ (キーと値のディクショナリ) を作成します。キーはtimestampFormat」で、値はdd/MM/yyyy」です。このマップは、JSON に変換するときにタイムスタンプ値に必要な形式を指定するために使用されます。to\$1json() 関数は、名前付き構造体を JSON 文字列に変換します。2 番目の引数であるマップは、タイムスタンプ形式をdd/MM/yyyy」にカスタマイズするために使用されます。出力は です。これは`{"time":"26/08/2015"}`、目的のdd/MM/yyyy」形式のタイムスタンプ値を含む単一のフィールド「time」を持つ JSON 文字列です。

```
SELECT to_json(named_struct('time', to_timestamp('2015-08-26', 'yyyy-MM-dd')), map('timestampFormat', 'dd/MM/yyyy'));
 {"time":"26/08/2015"}
```