Pik*_*chu 2 python django serialization json python-3.x
我有课
class Person(object):
def __init__(self,age,name):
self.person_age = age
self.person_name = name
Run Code Online (Sandbox Code Playgroud)
我想将对象序列化为 json。我可以这样做:
person = Person(20,'Piter')
person.__dict__
Run Code Online (Sandbox Code Playgroud)
但这样的方法会返回它:
{'person_age':20,person_name:'Piter'}
Run Code Online (Sandbox Code Playgroud)
我想用我自己的字段将我的对象序列化为 json。而不是“person_age”-“年龄”。而不是“person_name”-“name”:
{'age':20,name:'Piter'}
Run Code Online (Sandbox Code Playgroud)
如果类有很多字段,该怎么办?
IIUC,您可以执行以下操作:
import json
class Person(object):
def __init__(self, age, name, weight):
self.person_age = age
self.person_name = name
self.weight = weight
p = Person(30, 'Peter', 78)
mapping = {'person_age': 'age', 'person_name': 'name'}
result = json.dumps({mapping.get(k, k): v for k, v in p.__dict__.items()})
print(result)
Run Code Online (Sandbox Code Playgroud)
输出
{"age": 30, "name": "Peter", "weight": 78}
Run Code Online (Sandbox Code Playgroud)
请注意,您只需要更改那些您想要更改的名称,在上面的示例中weight保持不变。
| 归档时间: |
|
| 查看次数: |
1744 次 |
| 最近记录: |