

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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

`parseJson`을 사용하여 JSON 객체에서 값을 추출합니다.

데이터 세트가 빠른에 저장된 경우 데이터 세트를 준비SPICE할 `parseJson` 때를 사용할 수 있지만 분석 중에는 계산된 필드에는 사용할 수 없습니다.

직접 쿼리의 경우, 데이터 준비 및 분석 모두에서 `parseJson`을 사용할 수 있습니다. `parseJson` 함수는 언어에 따라 문자열 또는 JSON 기본 데이터 형식에 적용됩니다(다음 표 참조).


| 언어 | Type | 
| --- | --- | 
| PostgreSQL | JSON | 
| Amazon Redshift | 문자열 | 
| Microsoft SQL Server | 문자열 | 
| MySQL | JSON | 
| Teradata | JSON | 
| Oracle | 문자열 | 
| Presto | 문자열 | 
| Snowflake | 반구조화 데이터 형식 객체 및 배열 | 
| Hive | 문자열 | 

## 구문
<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>

문자열

## 예제
<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
```