MySql中Json字段双引号问题

时间:2024-03-29 10:22:26

一、问题引出

需要将保存在Json字段中的数据,字符串连接起来,组成新的字符串,返回列表。

二、解决办法

1、JSON_EXTRACT(column, '$.key')

2、column->'$.key'

上面两种方法都可以取出Json数组中某一列的值。

三、新的问题

数据取出来了,如下图所示:

MySql中Json字段双引号问题

取出的数据要求不能带引号,于是找新的办法,查找资料后,有两种办法:

  1. 方法1
    select json->>'$.attr' from table;
  2. 方法2
    select JSON_UNQUOTE(json_extract(json,'$.attr')) from table;

按照如上方法测试,自己使用的环境是阿里云rds for mysql 8.0 环境,使用的是DMS免费工具,如下图所示:

MySql中Json字段双引号问题

尝试结果如下图所示:

MySql中Json字段双引号问题

出现了[BLOB]的情况,让人非常费解。无论怎么尝试都不行,后来去本地尝试,测试结果如下:

MySql中Json字段双引号问题

至此找到问题。

四、结论

为了满足业务需要,继续在开发中尝试代码,结果前端界面可以取到处理的结果。猜测了一下,应该是DMS免费版工具,不支持Json的这种操作。