在 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'    

有输出