📅  最后修改于: 2023-12-03 14:44:30.892000             🧑  作者: Mango
MySQL 5.7及之后版本支持嵌套 JSON 对象的存储和查询。在嵌套的 JSON 对象中,我们可以通过键(key)获取其对应的值(value)。在本文中,我们将介绍如何使用 JavaScript 通过 MySQL 的JSON函数从 JSON 对象中获取值。
首先,我们需要创建一个包含 JSON 数据的表。以下是一个简单的基于JSON的表的示例:
CREATE TABLE my_table (
id INT PRIMARY KEY,
data JSON
);
INSERT INTO my_table
VALUES
(1,'{"name": "John", "age": 25, "city": "New York"}'),
(2,'{"name": "Jane", "age": 30, "city": "Los Angeles"}');
通过以上步骤,我们已经创建并插入了一些包含 JSON 数据的行。
->
运算符获取值我们可以通过使用 ->
运算符来获取 JSON 数据中的单个值。该运算符按照键(key)名称返回对应的JSON值。
SELECT data->"$.name" as name
FROM my_table
WHERE id = 1;
以上示例查询了 my_table
表中 id
为 1
的行中的 data
列中的 name
字段。注意,我们使用的是 $
符与 name
键的组合 $.name
,以从 JSON 数据中获取 name
字段的值。
->>
运算符获取值我们还可以使用 ->>
运算符来获取 JSON 数据中的字符串值。该运算符会将获取到的值自动转换为字符串类型。
SELECT data->>"$.city" as city
FROM my_table
WHERE id = 1;
以上示例查询了 my_table
表中 id
为 1
的行中的 data
列中的 city
字段。
我们可以使用索引方式来获取 JSON 数据中的值,通过在键名后紧跟着 [n]
的方式即可获取指定索引的值。
SELECT data->"$.goods[1]" as goods
FROM my_table
WHERE id = 1;
以上示例查询了 my_table
表中 id
为 1
的行中的 data
列中的 goods
字段中的第二个元素。
本文简单介绍了如何利用 MySQL 中的 JSON 函数通过 JavaScript 从 JSON 对象中获取值。但是,在实际开发中,我们可能会需要更为复杂的查询以及更加灵活的 JSON 数据操作。因此,我们需要结合实际需求,合理利用 SQL 和 JSON 函数来完成开发任务。