提问人:shadow777 提问时间:11/20/2021 最后编辑:shadow777 更新时间:11/20/2021 访问量:445
修复 SQL 中无效的 json
Fixind invalid json in SQL
问:
我正在使用 在 redshift 中解析 json,但这个 json 是无效的(其中一个字段在字符串值内包含双引号):json_extract_path_text
"somefield": "4 *\\"`)(z"
有没有办法摆脱这个引号并将其替换为其他一些值(我真的不关心这个特定的数据,因为它无论如何都是错误的,但我想获取这个 json 的其他一些部分)。
答:
1赞
Bill Weiner
11/20/2021
#1
看起来字符串中的反斜杠数量错误。您需要 1 或 1 才能获得双引号,或者需要 3 才能获得反斜杠和双引号。但这并不是真正的问题。
您可以使用 REPLACE() 函数去掉 \“ 文本。https://docs.aws.amazon.com/redshift/latest/dg/r_REPLACE.html
REPLACE(json_text, '\\"', '')
我相信 REPLACE() 不做任何字符串解释,因此不需要额外的转义。
评论