当前位置:   article > 正文

python 类对象转换json的三种方式_python 撖寡情頧柙son

python 撖寡情頧柙son

第一种

from datetime import datetime
import json
from typing import Any

class Student:
    def __init__(self,n,b):
        self.name=n
        self.bir=b

    def jsonformat(self):
        return {
            "name":self.name,
            "bir":str(self.bir)
        }
s=Student("章三",datetime.now())
j=json.dumps(s,ensure_ascii=False,default=s.jsonformat)
print(j)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

第二种

s=Student("章三","2000-01-01")
s=json.dumps(s,ensure_ascii=False,default=lambda obj:obj.__dict__)
print(s)
  • 1
  • 2
  • 3

第三种

class MyJsonEncoder(json.JSONEncoder):
    def default(self, o: Any) -> Any:
        if isinstance(o,Student):
            return {
            "name":o.name,
            "bir":str(o.bir)
        }
        return super().default(o)

s=json.dumps(Student("章三",datetime.now()),cls=MyJsonEncoder,ensure_ascii=False)
print(s)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号