Google bigquery 如何使用BigQueryAPI从json中的TableResult获取查询结果

Google bigquery 如何使用BigQueryAPI从json中的TableResult获取查询结果,google-bigquery,Google Bigquery,我将按照中给出的示例从BigQueryAPI获取查询结果 TableResult result = queryJob.getQueryResults(); 它以TableResults类型返回结果,但我需要以json格式获取结果。 TableResult{rows=[[FieldValue{attribute=PRIMITIVE, value=(...)}, FieldValue{attribute=PRIMITIVE, value=(...)}, FieldValue{att

我将按照中给出的示例从BigQueryAPI获取查询结果

TableResult result = queryJob.getQueryResults();
它以TableResults类型返回结果,但我需要以json格式获取结果。

TableResult{rows=[[FieldValue{attribute=PRIMITIVE, value=(...)},
    FieldValue{attribute=PRIMITIVE, value=(...)},
    FieldValue{attribute=PRIMITIVE, value=(...)},
    FieldValue{attribute=PRIMITIVE, value=(...)},
    FieldValue{attribute=PRIMITIVE, value=(...)},
    FieldValue{attribute=PRIMITIVE, value=(...)},
    FieldValue{attribute=PRIMITIVE, value=(...)}],(...)

如何将TableResults type中的结果转换为json,甚至csv?

要将表格中的行转换为json,可以使用函数
转换为json字符串。
要获得具有格式的JSON,需要将参数“true”传递给函数

新查询如下所示:

#standardSQL
“SELECT TO_JSON_STRING(t,true)"
 + "FROM ( 
    SELECT CONCAT('https://stackoverflow.com/questions/', CAST(id as STRING)) as url, "
     + "view_count "
     + "FROM `bigquery-public-data.stackoverflow.posts_questions` "
     + "WHERE tags like '%google-bigquery%' "
     + "ORDER BY favorite_count DESC LIMIT 10) as t”
输出:

TableResult{rows=[[FieldValue{attribute=PRIMITIVE, value={
  "url": "https://stackoverflow.com/questions/6607552",
  "view_count": 24524
}}], [FieldValue{attribute=PRIMITIVE, value={
  "url": "https://stackoverflow.com/questions/20349189",
  "view_count": 4298
}}], [FieldValue{attribute=PRIMITIVE, value={
  "url": "https://stackoverflow.com/questions/22734777",
  "view_count": 7940
}}], [FieldValue{attribute=PRIMITIVE, value={
  "url": "https://stackoverflow.com/questions/27537720",
  "view_count": 2039
(...)

您是否可以使用
来\u JSON\u STRING
作为查询的一部分?您将为结果返回一组JSON字符串。