使用MySQL截取JSON串,结果为null

使用MySQL查询json串时,在字段后面有个空格,查询时的结果为null

img


img

你查询语句把这个字段 去空格就行了 TRIM函数

直接
UPDATE user SET name=RTRIM(name);

或者查询的时候
select RTRIM(name) from user;

这两种都可以

先对json字符串用replace函数,把key替换成正确的,然后再进行解析,比如下面这个例子

with t  as (select '{"aa ":"123"}' a )
select a,json_extract(replace(a,'"aa "','"aa"'),'$.aa') from t

img

另外,建议把产生数据源的代码修正掉,因为key里面带空格,不符合json规范