有没有一种简单的方法可以将 BigQuery 中的行转换为 JSON?

dor*_*010 7 google-bigquery

我正在尝试将 BigQuery 表中的行减少为 JSON 字符串。在标准 SQL 中是否有一种快速的方法可以做到这一点?

我想过用用户定义的函数调用js,但它迫使我声明UDF的输入类型,所以我不能概括这个函数。

Ell*_*ard 11

现在可以使用TO_JSON_STRING,这在您想将表中的行传递到 JavaScript UDF 时也很有帮助

#standardSQL
WITH MyTable AS (
  SELECT 1 AS x, 'foo' AS y, true AS z UNION ALL
  SELECT 2, 'bar', false
)
SELECT TO_JSON_STRING(t) AS json
FROM MyTable AS t;
Run Code Online (Sandbox Code Playgroud)


bam*_*net 7

如果您想将所有行快速粘合到一个 JSON 块中,您可以执行以下操作:

SELECT CONCAT("[", STRING_AGG(TO_JSON_STRING(t), ","), "]")
FROM `project.dataset.table` t
Run Code Online (Sandbox Code Playgroud)

这将生成一个包含 1 行的表,其中包含总结整个表的完整 JSON blob。