Python

Python,第1张

Python

你对预期的输出有想法吗?例如这样做吗?

>>> f  = FileItem("/foo/bar")>>> magic(f)'{"fname": "/foo/bar"}'

在这种情况下,你只能致电

json.dumps(f.__dict__)

如果你想要更多的自定义输出,则必须继承

JSONEnprer
并实现自己的自定义序列化。

有关一个简单的示例,请参见下文

>>> from json import JSONEnprer>>> class MyEnprer(JSONEnprer):        def default(self, o): return o.__dict__    >>> MyEnprer().enpre(f)'{"fname": "/foo/bar"}'

然后,将该类

json.dumps()
作为
clskwarg
传递给方法:

json.dumps(cls=MyEnprer)

如果你也想解码,那么你将有一个自定义供应

object_hook
JSONDeprer
类。例如

>>> def from_json(json_object):        if 'fname' in json_object: return FileItem(json_object['fname'])>>> f = JSonDeprer(object_hook = from_json).depre('{"fname": "/foo/bar"}')>>> f<__main__.FileItem object at 0x9337fac>>>> 


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4946041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存