如何在SELECT AS STRUCT语句中将STRUCT转换为JSON?
在BigQuery中将查询结果转换为指定JSON格式的方法
要实现将你的查询结果转换为{"val.num": "INT64", "val.str": "STRING"}这样的JSON值,你需要先聚合行数据为键值对结构,再转换为JSON。具体可以通过OBJECT_AGG和TO_JSON_STRING函数完成:
WITH tbl AS ( SELECT "val.num" AS field_path, "INT64" AS data_type UNION ALL SELECT "val.str", "STRING" ) SELECT TO_JSON_STRING(OBJECT_AGG(field_path, data_type)) AS result_json
关键函数说明:
OBJECT_AGG(field_path, data_type):将表中所有行的field_path作为键、data_type作为值,聚合生成一个STRUCT对象TO_JSON_STRING():将聚合得到的STRUCT对象转换为标准JSON格式的字符串
内容的提问来源于stack exchange,提问作者David542
相关产品推荐
相关产品推荐

