1
0

More than 1 year has passed since last update.

mysql5.7でjson用カラムをdataclassesで形式を固定する

Posted at

背景

  • mysql5.7 DBにjson形式でデータを保存する
  • backendだけで処理じゃなくて、aws lambdaも処理するので、保存されるjsonの形式を管理したい

対策

  • dataclassesでjson形式を固定する
  • dataclasses-jsonよりコンバートする
    • request -> dict -> dataclass -> json -> DB
    • DB -> json -> dataclass -> dict -> response

dataclasses-json紹介

対応

dataclasses

from dataclasses import dataclass
from dataclasses_json import dataclass_json

@dataclass_json
@dataclass
class Metrics:
  param1: float
  param2: float

@dataclass_json
@dataclass
class Info:
  name: str
  metrics: Metrics

jsonに変更

metrics = Metrics(1.0, 2.0)
info = Info("test", metrics)
json = info.to_json()

dictに戻る

   info = asdict(Info.from_json(json_info))
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0