在 BigQuery 中迭代 ARRAY<JSON>
Iterate over ARRAY<JSON> in BigQuery
我想从 BigQuery 中的 JSON 对象中获取值。我有一个 JSON 如下所示
{"fruit":[{"apples":5,"oranges":10},{"apples":2,"oranges":4}]}
获取 json 对象值的条件是:如果苹果 = 2 那么 return 橙子的值是 4
如何在 BigQuery 中循环访问 ARRAY?
考虑下面的例子
#standardSQL
with `project.dataset.table` as (
select '{"fruit":[{"apples":5,"oranges":10},{"apples":2,"oranges":4}]}' json
)
select
json_extract(x, '$.oranges') oranges
from `project.dataset.table`,
unnest(json_extract_array(json, '$.fruit')) x
where json_extract(x, '$.apples') = '2'
有输出
我想从 BigQuery 中的 JSON 对象中获取值。我有一个 JSON 如下所示
{"fruit":[{"apples":5,"oranges":10},{"apples":2,"oranges":4}]}
获取 json 对象值的条件是:如果苹果 = 2 那么 return 橙子的值是 4
如何在 BigQuery 中循环访问 ARRAY?
考虑下面的例子
#standardSQL
with `project.dataset.table` as (
select '{"fruit":[{"apples":5,"oranges":10},{"apples":2,"oranges":4}]}' json
)
select
json_extract(x, '$.oranges') oranges
from `project.dataset.table`,
unnest(json_extract_array(json, '$.fruit')) x
where json_extract(x, '$.apples') = '2'
有输出