从 BigQuery 中具有无效令牌的列中解析 JSON 文件

Posted

技术标签:

【中文标题】从 BigQuery 中具有无效令牌的列中解析 JSON 文件【英文标题】:Parsing JSON files from a column with invalid token in BigQuery 【发布时间】:2020-03-24 11:17:49 【问题描述】:

这是 JSON 文件:

"success":false,"error":"type":"ValidationError","message":"Period":"maxValue:$1":"Value"

我正在尝试从文件中解析“值”

JSON_EXTRACT_SCALAR(response,"$.error.message.loanPeriod.maxValue:$1']")

棘手的部分是因为“maxValue:$1”中的“$”或“:”

请注意,“响应”是列

【问题讨论】:

您好,欢迎来到堆栈溢出!您能否更清楚一点并编辑您的帖子,我不知道您的问题是什么:) 【参考方案1】:

以下是 BigQuery 标准 SQL

如果 JSON 键使用无效的 JSONPath 字符,您可以使用单引号和括号来转义这些字符,如下例所示

JSON_EXTRACT_SCALAR(response,"$.error.message.Period['maxValue:$1']")   

在文档中查看更多信息 - JSON Functions in Standard SQL

【讨论】:

以上是关于从 BigQuery 中具有无效令牌的列中解析 JSON 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从 BigQuery 的列中解析 JSON 文件

从具有修改的 HeaderText 的列中解析单元格值

BigQuery:从多个嵌套列中选择 * 替换

解析列中具有动态键的 JSON 值并将 JSON 转换为 BigQuery 中的记录列结构

加载操作中的 BigQuery 错误:令牌无效 - 令牌无效:无状态令牌已过期

BigQuery 按数组条目过滤行