(MySQL)如何用内部点(特殊字符)取出json字段

jpm*_*tin 5 mysql json

首先,我使用的是MySQL v5.7.

现在,这是问题...以下示例有效(由MySQL官方网站提供):

SELECT JSON_EXTRACT('{"id": 14, "name": "Aztalan"}', '$.name');
Run Code Online (Sandbox Code Playgroud)

它回来了"Aztalan".

但是这个不起作用:

SELECT JSON_EXTRACT('{"user.id": 14, "user.name": "Aztalan"}', '$.user.name');
Run Code Online (Sandbox Code Playgroud)

如何使用json_extract函数获取"user.name"json属性名称?

在此先感谢您的帮助.

Vas*_*fed 9

工作方式是引用密钥:

SELECT JSON_EXTRACT('{"user.name": "Aztalan"}', '$."user.name"');
Run Code Online (Sandbox Code Playgroud)

  • 有趣的是,如果您反转引号,使其外部为双引号,内部为单引号,则会出错 (2认同)