如何将python openstack对象打印为json

2024-04-27 03:13:40 发布

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

我尝试使用json.dumps文件()

该对象是keystneclient.v2_0.client模块中的租户对象。在

如果我直接打印对象,我会得到:

<Tenant {u'description': u'', u'enabled': True, u'id': u'dea3061f17df49a1a22f105d5e9bc971', u'name': u'Tets Lab 01'}>

传递给json.dumps文件失败,即

^{pr2}$

错误表明它不可序列化 文件“/usr/lib/python2.7/json/编码器.py,默认为第178行 raise TypeError(repr(o)+“不是JSON可序列化的”)

除了解析从对象返回的字符串之外,有人知道我是否有一种方法可以轻松地将其转换为JSON输出?在


Tags: 模块文件对象clientjson序列化enableddescription
2条回答

我最后通过代码: https://github.com/openstack/python-keystoneclient

Tenant类扩展了一个基本资源,它实现了一个to_dict()方法。 这将以json格式返回数据。https://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/openstack/common/apiclient/base.py

my_tenant = keystone.tenants.get('dea3061f17df49a1a22f105d5e9bc971')
json.dumps(my_tenant.to_dict())

这应该行

json.dumps(vars(my_tenant))

相关问题 更多 >