Python复杂对象转json字符串
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
将一个对象数组转为json字符串,使用json.dumps()方法,比如下面的对象:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return json.dumps({
'name': self.name,
'age': self.age
})
print Person('zhangsan', 26)
但是执行代码时报错如下:
TypeError: ('zhangsan', 26) is not JSON serializable
经查阅资料,发现复杂对象在转为json字符串的时候,需要重写对象的__repr__
方法,并修改json.dumps()方法的参数,具体代码如下:
import json
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return json.dumps({
'name': self.name,
'age': self.age
})
def __repr__(self):
return repr((self.name, self.age))
print json.dumps(Person('zhangsan', 26), default=lambda o: o.__dict__, sort_keys=True)
修改后执行代码,得到正确的结果:
{"age": 26, "name": "zhangsan"}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
3 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)