在包含'$$'的 JSON 中插入失败



在插入Snowflake表之前,我正在转义JSON。但是,如果JSON本身包含Snowflake转义引号($$(,它将失败。有办法绕过这个吗?如果我从JSON中删除"$$",那么它会成功插入,但我需要保留原始JSON。有没有办法在不删除$$字符的情况下解决这个问题?感谢

insert into yaml_files
select column1 as path,
parse_json(column2) as yaml
from values ('test',$${'example': 'blahblah','example2': 'asdf$$6lkj'}$$);

正如注释所指出的,可以对字符串使用单引号,而不是$$

再现错误:

select parse_json($${"a":"b$$c"}$$);

固定:

select parse_json('{"a":"b$$c"}');

如果字符串中有一个引号,请使用:对其进行转义

select parse_json('{"a":"b'$$c"}');

如果你使用的是parse_json,你能逃脱下面这样的$$符号吗?

`select parse_json($${"a":"b$$c"}$$);`

如果您使用python,只需替换"$"用"\$&";。

最新更新