【问题标题】:Unnest JSON to SQL rows将 JSON 取消嵌套到 SQL 行
【发布时间】:2021-02-01 02:45:08
【问题描述】:

我正在尝试在 SQL (bigquery) 中取消嵌套 JSON 列,以便我可以拥有多行。我一直在尝试搜索如何做到这一点,但我认为我在这里有一个独特的案例:

id json column
abc {"callFee": 0, "estimationEx": {"estimatedAt": 12312312344}, "surgePolicyId": "v1-202101020126", "userVehicleId": "VRIVFLP2WK", "userRequestTags": ["NO_BYPASSING_ROUTE", "NO_UNKIND", "NO_TOO_MUCH_TALKER", "NO_UNCLEAN", "NO_WILD_DRIVING"]}

我只想解析“userRequestTags”部分并得到以下输出:

id UserRequest
abc NO_BYPASSING_ROUTE
abc NO_UNKIND
abc NO_TOO_MUCH_TALKER
abc NO_UNCLEAN
abc NO_WILD_DRIVING

我尝试使用函数 JSON_QUERY,但我认为这不会带我去任何地方。请问有什么想法吗? :/

【问题讨论】:

    标签: sql json google-bigquery


    【解决方案1】:

    在下面使用

    select id, trim(tag, '"') as UserRequest
    from `project.dataset.table`, 
    unnest(json_extract_array(json_column, '$.userRequestTags')) tag 
    

    如果应用于您的问题中的样本数据 - 输出是

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 2021-12-30
      相关资源
      最近更新 更多