JQ()¶
函数说明¶
JQ() 函数用于根据 jq 表达式解析和转换 JSON 数据。与 TRY_JQ() 不同的是,TRY_JQ() 支持出错时返回空值,而 JQ() 遇到错误则直接抛出异常。
语法结构¶
select jq(jsonDoc, pathExpression);
参数释义¶
参数 |
说明 |
|---|---|
jsonDoc |
这是包含 JSON 数据的列或表达式。 |
pathExpression |
用于指定如何从 JSON 数据中提取字段 |
示例¶
mysql> select jq('{"foo": 128}', '.foo');
+------------------------+
| jq({"foo": 128}, .foo) |
+------------------------+
| 128 |
+------------------------+
1 row in set (0.01 sec)
mysql> select jq(null, '.foo');
+----------------+
| jq(null, .foo) |
+----------------+
| NULL |
+----------------+
1 row in set (0.00 sec)
mysql> select jq('{"id": "sample", "10": {"b": 42}}', '{(.id): .["10"].b}');
+-----------------------------------------------------------+
| jq({"id": "sample", "10": {"b": 42}}, {(.id): .["10"].b}) |
+-----------------------------------------------------------+
| {"sample":42} |
+-----------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select jq('[1, 2, 3]', '.foo & .bar');
ERROR 1105 (HY000): unexpected token "&"