How to convert JSON data into a Python object? - Stack Overflow
一番簡単なコードがこれ。
import json
j = json.loads(your_json)
u = User(**j)
こういうモデルを定義して、以下のようなコードを書いてFastAPIに食わせたら、普通に動いた。
from typing import List, Optional from pydantic import BaseModel class Item(BaseModel): item_id: int item_name: str thumbnail: str description: str x_list: Optional[List[str]] maker: Optional[Maker] class Maker(BaseModel): uuid: str name: str furigana: str email: str zipcode: str address: str building: str tel: str fax: str
# fastapi @router.get("/api/item") async def fetch_item(): import os base = os.path.dirname(os.path.abspath(__file__)) with open(f'{base}/json/sample.json') as f: df = json.load(f) result = [Item(**x) for x in df] #これでオブジェクトに型変換できる return result