如何将MySQL中的JSON_OBJECT转换为字符串并解析提取字段?
MySQL解析JSON字段提取指定内容
针对你的需求,直接使用MySQL的JSON运算符->>就能快速提取JSON字段中的纯文本/数值内容,得到你想要的结果。
最终查询语句
SELECT id, json_value->>'$.name' AS name, json_value->>'$.price' AS price FROM json_value_table;
语法说明
->>是JSON_UNQUOTE(JSON_EXTRACT())的简写,作用是先从JSON字段中提取指定路径的内容,再去掉JSON格式的引号,直接返回纯文本或数值类型,刚好匹配你需要的输出格式。$.name和$.price是JSON路径表达式,$代表整个JSON对象,后面跟字段名即可定位到对应值。
等价的函数写法
如果习惯用函数形式,也可以写成:
SELECT id, JSON_UNQUOTE(JSON_EXTRACT(json_value, '$.name')) AS name, JSON_UNQUOTE(JSON_EXTRACT(json_value, '$.price')) AS price FROM json_value_table;
注:你期望输出中的pirce是拼写错误,正确字段名应为price。
内容的提问来源于stack exchange,提问作者user14114923
相关产品推荐
相关产品推荐

