在使用json.dumps()函数时,可以通过default参数来指定一个函数,该函数用于将非序列化对象转换为可序列化的对象。

json.dumps()函数遇到无法序列化的对象时,它会调用default函数对该对象进行处理,并将返回的结果进行序列化。

示例代码如下:

import json

def default(obj):
    if isinstance(obj, set):
        return list(obj)
    raise TypeError(f"Object of type {obj.__class__.__name__} is not JSON serializable")

data = {
    "name": "John",
    "age": 30,
    "interests": {"programming", "music", "reading"}
}

json_data = json.dumps(data, default=default)
print(json_data)

输出结果:

{"name": "John", "age": 30, "interests": ["programming", "music", "reading"]}

在上面的示例中,default函数将set对象转换为列表,以便进行序列化。如果遇到其他类型的对象,default函数将抛出TypeError异常

jsondumps中的default

原文地址: http://www.cveoy.top/t/topic/h0Z0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录