sql - BigQuery - 动态提取数组内的所有数组元素
问题描述
我已经发布了这个问题,但现在我试图用 BigQuery 来实现这一点。
我有如下 JSON 数据。
{
"userid": null,
"appnumber": "9",
"trailid": "1547383536",
"visit": [{
"visitNumber": "1",
"time": "0",
"hour": "18",
"minute": "15"
},
{
"visitNumber": "2",
"time": "2942",
"hour": "18",
"minute": "15"
}
]
}
我想动态提取访问数组值。
如下所示:(管道分隔列)
userid,appnumber| trailid |
visit.visitnumber | visit.time | visit.hour | visit.minute |
visit.visitnumber | visit.time | visit.hour | visit.minute
如果您看到我在访问数组中有 2 个 json 元素。所以我想动态提取visitNumber、时间、小时、分钟。有时我可能在数组中有 3 或 5 个值,所以它应该自动提取所有 3 或 5 个 json(我的意思是动态的)。
有一种常用的方法来提取这个类似JsonExtractScalar(JsonExtract(visit,'$.[0].visitnumber')
(这个语法可能是错误的,但我们会使用类似的语法。所以这里我手动使用[0]
来提取数组中的第一个元素。
如果它有 10 多个元素,那么我应该使用[0]...[1]...[2]....[10]
. 这件事我想解决,不知何故没有提及所有元素,它应该动态选择所有 10 个元素并提取它。
有人可以帮我提取查询吗?
解决方案
推荐阅读
- c++ - 写概念的惯用方式,说类型是 std::vector
- c# - 在 ExpandoObject 中获取自定义属性的成员表达式
- python - Turtle 库和 Pycharm
- azure - Azure webapp在创建后添加deploymentLocalGitUrl
- c# - 异步等待与简单执行
- c++ - std::map< K, std::vector
> 分配 - android - 自 Oreo/API 26 起允许用户设置通知灯颜色
- javascript - 我正在创建一个系统,我的控制台说我的一个功能是未定义的
- macos - 如何在没有 ViewController 的情况下初始化内置于 Interface Builder(由 Xib 支持)的可重用 NSView
- sql - 处理运行总计中的空值