You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Presto识别指定JSON示例中的顶层唯一键?

Presto提取JSON顶层唯一键的解决方案

完整SQL实现

WITH dataset AS (
  SELECT '{\"name\": \"Susan Smith\",
           \"org\": \"engineering\",
           \"projects\": [{\"name\":\"project1\", \"completed\":false},
           {\"name\":\"project2\", \"completed\":true}]}'
    AS users
)
SELECT DISTINCT key AS Column
FROM dataset,
     UNNEST(map_keys(cast(json_parse(users) AS map(varchar, json)))) AS t(key);

步骤解释

  • json_parse(users):将字符串格式的JSON数据解析为JSON对象
  • cast(json_parse(users) AS map(varchar, json)):把JSON对象转换为map(varchar, json)类型,因为map_keys函数仅支持MAP类型输入
  • map_keys(...):提取MAP结构中的所有键,返回一个字符串数组
  • UNNEST(...):将数组展开为独立的行记录
  • DISTINCT:保证输出的键唯一,适配多JSON记录场景,单条记录时可省略

输出结果

Column
name
org
projects

内容的提问来源于stack exchange,提问作者oneday

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 00:25:31