当前位置: 移动技术网 > IT编程>开发语言>JavaScript > MySQL 5.7 关于 JSON 类型的子集Key/Value获取方法分享

MySQL 5.7 关于 JSON 类型的子集Key/Value获取方法分享

2020年07月18日  | 移动技术网IT编程  | 我要评论

MySQL 5.7 开始支持存储JSON类型的数据,今天遇到了一个问题,获取JSON子集里的 KEY 时出现的

{
	"createActivity": {
		"content": "这是我第一篇动态",
		"agreeCount": 0,
		"shareCount": 0,
		"againstCount": 0,
		"commentCount": 0
	}
}

下面我们想获取 Key 为 content 的值
mysql提供了获取key的函数 json_extract(json字段, $.key)

下面这段sql 只能获取 createActivity 这个级别的Key

select json_extract(`data`, '$.content')  from table 

如果想获取到 content, 得下面这样写

select json_extract(`data`, '$**.content')  from table 

的确获取到了值,可值是有问题的

在这里插入图片描述

可以从上面的图片看出,多了[],还有双引号…

双引号可以用 JSON_UNQUOTE 解决,但 [ ] 该怎么解决呢?

通过嵌套 json_extract 解决

select json_extract(json_extract(`data`, '$.createActivity'), '$.content')  from table 

在这里插入图片描述

好了,今天就分享到这里,如果还有什么好方法,欢迎提出来

本文地址:https://blog.csdn.net/Fyf_010316/article/details/107418609

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网