MySQL中JSON和STRING互相转换¶
在 MySQL查询JSON 中,对于MySQL而言,字段类型JSON和STRING是不同类型,例如不能直接将 JSON 数据插入STRING字段,也不能直接用处理JSON的 JSON_EXTRACT()
函数来直接处理STRING字符串。此时我们需要使用转换函数进行类型转换
字符串转JSON对象¶
MySQL提供了 JSON_PARSE()
函数将字符串转换成JSON对象:
CREATE TABLE json_conversion_demo (
id INT AUTO_INCREMENT PRIMARY KEY,
json_string VARCHAR(255)
);
INSERT INTO json_conversion_demo (json_string) VALUES ('{"key": "value"}');
SELECT JSON_PARSE(json_string) AS json_data FROM json_conversion_demo;
JSON对象转字符串¶
JSON_UNQUOTE()
函数可以将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;