JSON 大查询中的问题

JSON issue in Big Query

我有解析 json 数据的方案,该数据属于 table 中的一列。 问题是数据存储备份到 BigQuery 生成的 json 响应列下方。它已“\”附加到每个数据。

Reponse": "[
  {
    \"questionId\":5121566669012992,
    \"answereId\":0,
    \"answeredText\":\"Summer\"
  },{
    \"questionId\":5166851730440192,
    \"answereId\":0,
    \"answeredText\":\"Barcelona\"
  },{
    \"questionId\":6304057064947712,
    \"answereId\":0,
    \"answeredText\":\"Kitesurf\"
  }
]"

如何使用 BigQuery 解析以下内容以获取 questionId 的值?

JSON_EXTRACT 不能 return REPEATED 字段,它只能进行一次匹配 - 因此不支持 *

您可以使用硬编码索引获得第一个位置,如

SELECT JSON_EXTRACT_SCALAR('[
  {
    \"questionId\":5121566669012992,
    \"answereId\":0,
    \"answeredText\":\"Summer\"
  },{
    \"questionId\":5166851730440192,
    \"answereId\":0,
    \"answeredText\":\"Barcelona\"
  },{
    \"questionId\":6304057064947712,
    \"answereId\":0,
    \"answeredText\":\"Kitesurf\"
  } 
]', '$[0].questionId') AS str;

这个returns:

+-----+------------------+---+
| Row |       str        |   |
+-----+------------------+---+
|   1 | 5121566669012992 |   |
+-----+------------------+---+