bigqueryのjsonのパースとエンコード
概要
- 偶にBigQueryのデータにjsonエンコードされたテキストが入っていることがあり、パースする必要がある
- 要素にアクセスして、値とみなすには
JSON_EXTRACT_SCALAR
関数を用いる
- 要素にアクセスして、値とみなすには
パースの例
SELECT
JSON_EXTRACT_SCALAR(raw_json, '$.name') as name,
JSON_EXTRACT_SCALAR(raw_json, '$.email') as email
FROM UNNEST([
'{"name": "山田 太郎", "email": "taro.yamada@example.com"}',
'{"name": "佐藤 花子", "email": "hanako.sato@example.com"}',
'{"name": "鈴木 一郎", "email": "ichiro.suzuki@example.com"}',
'{"name": "田中 二郎", "email": "jiro.tanaka@example.com"}',
'{"name": "高橋 三郎", "email": "saburo.takahashi@example.com"}'
]) as raw_json
name | |
---|---|
山田 太郎 | taro.yamada@example.com |
佐藤 花子 | hanako.sato@example.com |
鈴木 一郎 | ichiro.suzuki@example.com |
田中 二郎 | jiro.tanaka@example.com |
高橋 三郎 | saburo.takahashi@example.com |