在插入PostgreSQL之前从嵌套JSON对象中删除\u0000

2024-10-04 01:23:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python将JSON对象插入到PostgreSQL DB表中。 嵌套的JSON是高度嵌套的。 其中一些JSON对象中的字符串包括“\u0000”,这是一个非法字符和UNICODE,在插入PG之前必须进行清理

最快的方法是什么


Tags: 对象方法字符串jsondb高度postgresqlunicode
2条回答

这是我想到的

def sanitize(obj):
    if isinstance(obj, str):
      return obj.replace('\u0000', '')
    if isinstance(obj, list):
      return [sanitize(item) for item in obj]
    if isinstance(obj, tuple):
      return tuple([sanitize(item) for item in obj])
    if isinstance(obj, dict):
      return {k:sanitize(v) for k,v in obj.items()}
    return obj

有没有一个更优雅的解决方案,我在这里错过了

你能看看这个参数在你对execute()的调用中是否适用吗

>>> a = '\u0000'
>>> json.dumps(a).replace(r'\u0000', '')
'""'
>>> 

r''用于原始字符串,以帮助避免引用问题

相关问题 更多 >