Python JSON:用于 JSON 序列化的元组的定制处理

Python JSON: cutomized handling of tuples for JSON serialization

提问人:Arran Duff 提问时间:10/26/2023 更新时间:10/26/2023 访问量:21

问:

  • 默认情况下,python JSONEncoder 在序列化元组之前将元组转换为列表。

  • 有谁知道使用 python json 库提供的钩子对元组进行自定义处理的方法?

  • 例如,我想对 JSONEncoder 类进行子类化,并使用其中一种方法覆盖元组的处理。例如

    class MyEncoder(json.JSONEncoder):
        def default(self, obj):
            if isinstance(obj, tuple):
                print("found tuple")
                return my_tuple_handling_logic(obj)
            return JSONEncoder.default(o)
    
    json.dumps(my_dict, cls=MyEncoder)
    
  • 如果上述方法有效,那就太好了。但不幸的是,MyEncoder.default 只被调用python.json不知道如何序列化的对象。它确实知道如何序列化元组。只是不是我想要的方式......

  • 通过阅读 JSONEncoder 代码,我相当确定解决这个问题是不可能的,但我想无论如何我都会在这里问

  • 需要明确的是 - 我不想添加我自己的自定义代码,这些代码会遍历我的字典并为我处理我的元组。我想使用 python.json 库提供的钩子

JSON 序列化 python-3.8

评论

0赞 Nick 10/27/2023
这可能会有所帮助:stackoverflow.com/questions/31869554/......

答: 暂无答案