mysql(5.6及以下)解析json的方法实例详解
背景
在以往的开发中,我们通常使用MySQL来存储数据,然而在数据中存在着大量的json类型的数据,如何快速、便捷的解析json数据就变得尤为重要。本文将介绍Mysql(5.6及以下)中解析json类型数据的方法及实例。
操作步骤
- 使用
JSON_EXTRACT()
方法解析json数据
JSON_EXTRACT()
方法可用于获取指定的json键值,语法如下:
sql
JSON_EXTRACT(json, keypath)
其中,json是一定要被解析的json数据,keypath是需要解析的json键值的路径,例如可以使用$.key
获取数据中的某个键的值。示例代码如下:
sql
SELECT JSON_EXTRACT('{"name":"John", "age":30, "city":"New York"}', '$.name') as name;
运行结果如下:
+------+
| name |
+------+
| John |
+------+
- 使用
JSON_TABLE()
方法解析json数组数据
JSON_TABLE()
方法可用于对json数组进行解析,并将结果存储到一个表中。语法如下:
sql
JSON_TABLE(json_array, '$[*]' COLUMNS (column_name1 data_type PATH '$.key1', column_name2 data_type PATH '$.key2', ...)) tableName
其中,json_array是需要被解析的json数组,COLUMNS是需要解析的json键路径和对应的列名,tableName是结果存储的表名。示例代码如下:
sql
SELECT name, age, city FROM JSON_TABLE('[{"name":"John", "age":30, "city":"New York"}, {"name":"Tom", "age":25, "city":"London"}]', '$[*]' COLUMNS (name VARCHAR(20) PATH '$.name', age INT PATH '$.age', city VARCHAR(20) PATH '$.city')) as demo_table;
运行结果如下:
+------+-----+----------+
| name | age | city |
+------+-----+----------+
| John | 30 | New York |
| Tom | 25 | London |
+------+-----+----------+
结论
通过本文的介绍,我们可以将Mysql(5.6及以下)中解析json类型数据的方法掌握,并知道了在实际应用场景中的使用方法。其中,JSON_EXTRACT()
方法可用于获取指定的json键值,JSON_TABLE()
方法可用于对json数组进行解析,并将结果存储到一个表中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql(5.6及以下)解析json的方法实例详解 - Python技术站