我有一个json类型的mysql列。其中存储了类似dict的json对象。现在,我想从这个json对象中提取值并创建一个json数组。
我怎样才能做到这一点?
示例查询
with json_objs(json_col) as (
select CAST('{"key1": "value1", "key2": "value2"}' AS JSON)
UNION ALL
select CAST('{"key3": "value3", "key4": "value4"}' AS JSON)
)
select SOME_EXPR_I_CAN_T_FIGURE_OUT from json_objs
预期结果
+----------------------+
| resulting_column |
+----------------------+
| ["value1", "value2"] |
| ["value3", "value4"] |
+----------------------+
(如果需要表ddl:)
CREATE TABLE `json_objs` (
`json_col` json DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
2条答案
按热度按时间qhhrdooz1#
除
->
操作员,您也可以使用Json_Extract()
功能:架构(mysql v8.0)
查询#1
db fiddle视图
wdebmtf22#
你可以用
->
表达式中的运算符column -> path
具体如下:https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#operator_json-列路径