

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# IS\$1VALID\$1JSON 関数
<a name="IS_VALID_JSON"></a>

**注記**  
CAN\$1JSON\$1PARSE および関連する関数は、JSON 値を SUPER として解析します。Amazon Redshift は、VARCHAR よりも SUPER をより効率的に解析します。  
 IS\$1VALID\$1JSON を使用する代わりに、[CAN\$1JSON\$1PARSE 関数](CAN_JSON_PARSE.md) を使用して JSON 文字列を検証することをお勧めします。

IS\$1VALID\$1JSON 関数は、JSON 文字列を確認します。この関数は、文字列が正しい JSON 形式になっている場合、`true` のブール値を返し、正しい形式ではない場合は、`false` を返します。JSON 配列を検証するには、[IS\$1VALID\$1JSON\$1ARRAY 関数](IS_VALID_JSON_ARRAY.md)を使用します。

詳細については、「[JSON 関数](json-functions.md)」を参照してください。

## 構文
<a name="IS_VALID_JSON-synopsis"></a>

```
IS_VALID_JSON('json_string')
```

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

 *json\$1string*  
評価して JSON 文字列を返す文字列または式。

## 戻り型
<a name="IS_VALID_JSON-return"></a>

`BOOLEAN`

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

テーブルを作成し、テスト用の JSON 文字列を挿入するには、次の例を使用します。

```
CREATE TABLE test_json(id int IDENTITY(0,1), json_strings VARCHAR);

-- Insert valid JSON strings --
INSERT INTO test_json(json_strings) VALUES
('{"a":2}'), 
('{"a":{"b":{"c":1}}}'), 
('{"a": [1,2,"b"]}');

-- Insert invalid JSON strings --
INSERT INTO test_json(json_strings) VALUES
('{{}}'), 
('{1:"a"}'), 
('[1,2,3]');
```

前の例の文字列を検証するには、次の例を使用します。

```
SELECT id, json_strings, IS_VALID_JSON(json_strings) 
FROM test_json
ORDER BY id;

+----+---------------------+---------------+
| id |    json_strings     | is_valid_json |
+----+---------------------+---------------+
|  0 | {"a":2}             | true          |
|  4 | {"a":{"b":{"c":1}}} | true          |
|  8 | {"a": [1,2,"b"]}    | true          |
| 12 | {{}}                | false         |
| 16 | {1:"a"}             | false         |
| 20 | [1,2,3]             | false         |
+----+---------------------+---------------+
```