首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将JSON对象转换为STRUCT

将JSON对象转换为STRUCT
EN

Stack Overflow用户
提问于 2022-10-10 23:29:24
回答 1查看 73关注 0票数 0

是否可以在BigQuery中执行以下操作:

代码语言:javascript
复制
SELECT CAST(JSON '{"x": 3}' AS STRUCT<x INT>)

或者,基本上,如何将json数据转换为类型化的值?我希望我能做到:

代码语言:javascript
复制
SELECT AS STRUCT STRUCT(3 as x, 4 as y).*

但即使如此也给了我:

代码语言:javascript
复制
SELECT AS STRUCT JSON '{"x": 3}'.*

在1:18时,JSON类型不支持点星(Dot)。我得到的最接近的是手动规范:

代码语言:javascript
复制
WITH json AS (
  SELECT JSON '{"x": 3, "y": true}' val
) SELECT STRUCT(json.val.x AS INT64, json.val.y AS BOOL) FROM json
EN

回答 1

Stack Overflow用户

发布于 2022-10-11 11:12:25

我不确定这是否可行,但我会尝试这样做:

  1. 使用BigQuery定义JSON模式表的架构
  2. 创建一个输入为JSON字符串的JavaScript用户定义函数
  3. 解析JavaScript UDF中的JSON字符串
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74021588

复制
相关文章

相似问题

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