BigQuery - JSONpath 递归运算符 (1/2)
BigQuery - JSONpath recursive operator (1/2)
在缺少显然不受支持的运算符“..”的情况下,是否有任何方法可以对 BigQuery 中的 JSON 字符串对象执行递归搜索?
动机:在不认识下面的“学生”和“class”的情况下访问“姓名”。
查询
SELECT JSON_EXTRACT(json_text, '$..name') AS first_student
FROM UNNEST([
'{"class" : {"students" : {"name" : "Jane"}}}'
]) AS json_text;
期望输出
+-----------------+
| first_student |
+-----------------+
| "Jane" |
+-----------------+
当前输出
Unsupported operator in JSONPath: ..
试试下面
SELECT REGEXP_EXTRACT(json_text, r'"name" : "(\w+)"') AS first_student
FROM UNNEST([
'{"class" : {"students" : {"name" : "Jane"}}}'
]) AS json_text;
有输出
在缺少显然不受支持的运算符“..”的情况下,是否有任何方法可以对 BigQuery 中的 JSON 字符串对象执行递归搜索?
动机:在不认识下面的“学生”和“class”的情况下访问“姓名”。
查询
SELECT JSON_EXTRACT(json_text, '$..name') AS first_student
FROM UNNEST([
'{"class" : {"students" : {"name" : "Jane"}}}'
]) AS json_text;
期望输出
+-----------------+
| first_student |
+-----------------+
| "Jane" |
+-----------------+
当前输出
Unsupported operator in JSONPath: ..
试试下面
SELECT REGEXP_EXTRACT(json_text, r'"name" : "(\w+)"') AS first_student
FROM UNNEST([
'{"class" : {"students" : {"name" : "Jane"}}}'
]) AS json_text;
有输出