

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

# parseJson
<a name="parseJson-function"></a>

`parseJson` を使用して、JSON オブジェクトから値を抽出します。

データセットがクイック に保存されている場合はSPICE、データセットを準備する`parseJson`ときに を使用できますが、分析中に計算フィールドには使用できません。

直接クエリの場合、`parseJson` を使用して、データの準備中および分析中にも使用することができます。`parseJson` 関数は、次の表に示すように、ダイアレクトに応じて、文字列または JSON ネイティブデータ型のいずれかに適用されます。


| ダイアレクト | タイプ | 
| --- | --- | 
| PostgreSQL | JSON | 
| Amazon Redshift | 文字列 | 
| Microsoft SQL Server | 文字列 | 
| MySQL | JSON | 
| Teradata | JSON | 
| Oracle | 文字列 | 
| Presto | 文字列 | 
| Snowflake | 半構造化されたデータ型オブジェクトと配列 | 
| Hive | String | 

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

```
parseJson(fieldName, path)
```

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

 *fieldName*   
解析する JSON オブジェクトを含むフィールド。

 *パス*   
JSON オブジェクトから解析するデータ要素へのパス。パス引数では、英字、数字、および空白のみサポートされています。有効なパス構文には以下があります。  
+ *\$1* － ルートオブジェクト
+ *.* － 子演算子
+ *[ ]* － 配列の添字演算子

## 戻り型
<a name="parseJson-function-return-type"></a>

String

## 例
<a name="parseJson-function-example-query"></a>

次の例では、受信 JSON を評価して、アイテムの数量の値を取得します。データの準備中にこれを使用することで、JSON からテーブルを作成することができます。

```
parseJson({jsonField}, “$.items.qty”)
```

以下に JSON を示します。

```
{
    "customer": "John Doe",
    "items": {
        "product": "Beer",
        "qty": 6
    },
    "list1": [
        "val1",
        "val2"
    ],
    "list2": [
        {
            "list21key1": "list1value1"
        }
    ]
}
```

この例では、次の値が返されます。

```
6
```

## 例
<a name="parseJson-function-example"></a>

以下の例は、`JSONObject1` を評価して `"State"` というラベルが付いた最初のキーバリューペア (KVP) を抽出し、作成している計算フィールドにその値を割り当てます。

```
parseJson(JSONObject1, “$.state”)
```

次が指定したフィールド値です。

```
JSONObject1
-----------
{"State":"New York","Product":"Produce","Date Sold":"1/16/2018","Sales Amount":"$3423.39"}
{"State":"North Carolina","Product":"Bakery Products","Date Sold":"2/1/2018","Sales Amount":"$3226.42"}
{"State":"Utah","Product":"Water","Date Sold":"4/24/2018","Sales Amount":"$7001.52"}
```

これらのフィールド値に対して、以下の行が返されます。

```
New York
North Carolina
Utah
```