【发布时间】:2021-11-22 21:18:18
【问题描述】:
我有一个带有 json 格式的 bigquery 字符串列,我们称它为 child_col,例如它的值为 '{"code": "foo"}'。
我正在尝试创建另一个字符串列,例如parent_col,带有一个 json 值,其中 child_cold 中的 json 作为嵌套属性,例如
'{
"code": "parent",
"child": {"code": "foo"}
}'
我在 Bigquery 中使用 TO_JSON_STRING 来做到这一点:
parent_col = TO_JSON_STRING(STRUCT('parent' AS code, child_col AS child))
这几乎可以工作,但将child_col 视为纯字符串,结果如下所示:
'{
"code": "parent",
"child": "{\"code\": \"foo\"}"
}'
我尝试将child_col 嵌套在TO_JSON_STRING(STRUCT('parent' AS code, child_col AS child)) 中JSON_VALUE()、JSON_QUERY(child_col, '$')、JSON_EXTRACT(child_col, '$'),第一个总是给出一个json null,而后两个仍然在逃避事情。例如
parent_col = TO_JSON_STRING(STRUCT('parent' AS code, JSON_QUERY(child_col, '$') AS child))
有什么简单的方法可以做到这一点?
【问题讨论】:
标签: sql json google-bigquery