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

Sle*_*ter 6 python postgresql unicode json sanitization

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

最快的方法是什么?

Sle*_*ter 1

这是我的想法。

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
Run Code Online (Sandbox Code Playgroud)

我在这里缺少更优雅的解决方案吗?