1/ 我正在 AWS 上使用 SQL,并尝试快速检测 Json 对象中何时包含键值。有人知道吗?谢谢
例如: A. {"context":{"abc":"123"} --> 是
B. {"context":{}} --> 否
请注意,我事先并不知道这种情况下的密钥。
2/ 还可以收集所有钥匙吗?
谢谢你。
我假设您使用的是AWS Athena,您可以使用json_extract来解析json字符串,然后使用
json_length
来检查json对象的键数是否大于0
SELECT
dataset.name, dataset.data
FROM (
SELECT 'A' AS name, '{"context":{"abc":"123"}}' AS data
UNION ALL
SELECT 'B' , '{"context":{}}'
) as dataset
where json_length(json_extract(dataset.data, '$.context')) > 0