首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查BigQuery中是否存在JSON key

检查BigQuery中是否存在JSON key
EN

Stack Overflow用户
提问于 2021-03-31 19:27:31
回答 2查看 122关注 0票数 2

我正在尝试检查键是否存在于JSON中,如果存在,则返回整个JSON。

我有一个如下的JSON:

代码语言:javascript
运行
复制
json    
 -------- 
 "fruit":[{"apples":"5","oranges":"10"},{"apples":"5","oranges":"4"}] 
 "fruit":{"apples":"1","oranges":"15"}   
 "fruit":{"apples":"5","oranges":"1"}  
 "fruit":[{"lettuce":"7","kale": "8"}] 

输出:如果JSON数组或JSON对象有键apples,则返回键值

代码语言:javascript
运行
复制
json                                                                    |Output 
 -------- -------- -------- -------- -------- -------- -------- -------- -------- -------- -------- -------- -------- --------
 "fruit":[{"apples":"5","oranges":"10"},{"apples":"5","oranges":"4"}]  |[{"apples":"5","oranges":"10"},{"apples":"5","oranges":"4"}]
 "fruit":{"apples":"1","oranges":"15"}                                 |{"apples":"1","oranges":"15"}
 "fruit":{"apples":"5","oranges":"1"}                                  |{"apples":"5","oranges":"1"}
 "fruit":[{"lettuce":"7","kale": "8"}]                                 | null
EN

Stack Overflow用户

发布于 2021-03-31 20:00:38

只需使用if即可

代码语言:javascript
运行
复制
with mytable as (
  select '{"fruit":[{"apples":"5","oranges":"10"},{"apples":"5","oranges":"4"}]}' as json union all
  select '{"fruit":{"apples":"1","oranges":"15"}}' union all
  select '{"fruit":{"apples":"5","oranges":"1"}}' union all
  select '{"fruit":[{"lettuce":"7","kale": "8"}]}' 
)
select if(json like '%apples%', json_extract(json, '$.fruit'), null) as output 
from mytable

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66886950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档