如图,JSON中有特殊字符,在Doris中执行如下SQL报错非法JSON
select json_parse('{"MACHINE_NO":"","TRAY":"1","OPERATORID":"","FN_LX":"7.3075","CAP_LX":"13.96125","_LX":"3.1525"}');
显示为DC2的是ASCII中特殊控制字符
如图,JSON中有特殊字符,在Doris中执行如下SQL报错非法JSON
select json_parse('{"MACHINE_NO":"","TRAY":"1","OPERATORID":"","FN_LX":"7.3075","CAP_LX":"13.96125","_LX":"3.1525"}');
显示为DC2的是ASCII中特殊控制字符
使用regexp_replace函数统一替换下特殊字符(ASCII 码中的1~31)即可:
with c as
(
select '{"MACHINE_NO":"","TRAY":"1","OPERATORID":"","FN_LX":"7.3075","CAP_LX":"13.96125","_LX":"3.1525"}' as str
)
SELECT regexp_replace(str, '[\\x00-\\x1F]', '') AS replace_str
, json_parse(regexp_replace(str, '[\\x00-\\x1F]', ''))
from c