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

时间:2017-01-11 17:40:15

标签: google-bigquery

我正在尝试将BigQuery Table中的行减少为JSON字符串。 在标准SQL中有快速的方法吗?

我考虑过使用User-defined Function调用js,但它强制我声明UDF的输入类型,所以我不能概括这个函数。

2 个答案:

答案 0 :(得分:4)

现在可以使用TO_JSON_STRING进行此操作,这也可以在您想要pass a row from your table to a 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;

答案 1 :(得分:0)

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

SELECT CONCAT("[", STRING_AGG(TO_JSON_STRING(t), ","), "]")
FROM `project.dataset.table` t

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