一、问题引出
需要将保存在Json字段中的数据,字符串连接起来,组成新的字符串,返回列表。
二、解决办法
1、JSON_EXTRACT(column, '$.key')
2、column->'$.key'
上面两种方法都可以取出Json数组中某一列的值。
三、新的问题
数据取出来了,如下图所示:
取出的数据要求不能带引号,于是找新的办法,查找资料后,有两种办法:
- 方法1
select json->>'$.attr' from table;
- 方法2
select JSON_UNQUOTE(json_extract(json,'$.attr')) from table;
按照如上方法测试,自己使用的环境是阿里云rds for mysql 8.0 环境,使用的是DMS免费工具,如下图所示:
尝试结果如下图所示:
出现了[BLOB]的情况,让人非常费解。无论怎么尝试都不行,后来去本地尝试,测试结果如下:
至此找到问题。
四、结论
为了满足业务需要,继续在开发中尝试代码,结果前端界面可以取到处理的结果。猜测了一下,应该是DMS免费版工具,不支持Json的这种操作。