如何在SQL BigQuery中提取所有JSON值(无需枚举键)
在BigQuery中提取JSON对象所有值的解决方案
无需枚举键的情况下,直接用BigQuery内置的OBJECT_VALUES函数就能提取JSON对象的所有值,返回数组结果。
基础示例
如果直接处理JSON字符串:
SELECT OBJECT_VALUES(JSON '{"1":"eggs","2":"nuts","3":"fish"}') AS values_array;
执行后会得到结果:
["eggs","nuts","fish"]
处理表中字段的情况
如果JSON字符串存储在表的字段里(比如表your_table的json_column字段,类型为字符串),需要先解析成JSON对象再提取:
SELECT OBJECT_VALUES(JSON_PARSE(json_column)) AS values_array FROM `your_project.your_dataset.your_table`;
要是字段本身就是JSON类型,可省略JSON_PARSE,直接用:
SELECT OBJECT_VALUES(json_column) AS values_array FROM `your_project.your_dataset.your_table`;
补充说明
OBJECT_VALUES会自动遍历JSON对象的所有键,返回对应值组成的数组,不管键的数量多少都能适配- 返回的数组元素类型和JSON中的值类型一致,这里都是字符串类型
内容的提问来源于stack exchange,提问作者user7586060
相关产品推荐
相关产品推荐

