BigQuery 将 JSON 转置为列

BigQuery Transpose JSON into columns

我是 BigQuery 的新手,我正在尝试从一个简单的 JSON 字段中提取一些信息并将其转置到列中。

这是 bigquery 上 json 的示例。

[
  {
    "name": "pack",
    "value": "Classic Pack"
  },
  {
    "name": "pack_id",
    "value": 24910
  },
  {
    "name": "pack_count",
    "value": 4
  }
]

我的理想table是这样的

pack         | pack_id
Classic Pack | 24910

我正在努力尝试使用 JSON 函数,但到目前为止没有任何效果。

谢谢大家

考虑以下方法

select * except(json_col) from (
  select json_col, 
    json_value(kv, '$.name') col, 
    json_value(kv, '$.value') value
  from your_table,
  unnest(json_extract_array(json_col)) kv
)
pivot(any_value(value) for col in ('pack', 'pack_id', 'pack_count'))    

有输出