2023-08-24 17:33:31

pydantic은 데이터 검증 및 파싱에 사용되는 유명한 라이브러리입니다. pydantic 모델을 json 스트링으로 변환하고자 할 때는 다음과 같이 model_dump_json() 메서드를 사용할 수 있습니다.

 

from pydantic import BaseModel


class User(BaseModel):
    name: str
    age: int


user1 = User(name='홍길동', age=99)
print(user1)  # name='홍길동' age=99
print(type(user1))  # <class '__main__.User'>

user1_json_str = user1.model_dump_json()
print(user1_json_str)  # {"name":"홍길동","age":99}
print(type(user1_json_str))  # <class 'str'>

 

아래와 같이 json 메서드를 사용하는 방법은 pydantic 1버전에서 사용되던 방법이고, 2버전부터 deprecated되었고, 3버전에서는 제거될 예정입니다. 

 

 
user1_json_str = user1.json()
print(user1_json_str)  # {"name":"홍길동","age":99}

 

관련 글

- [python] pydantic 모델을 딕셔너리(dict)로 변환하는 방법