小编Mil*_*vić的帖子

如何在Python中覆盖数据类属性的名称?

我正在使用dataclass解析(HTTP 请求/响应)JSON 对象,今天我遇到了一个问题,需要在我的类中进行转换/别名属性名称。

from dataclasses import dataclass, asdict
from typing import List
import json


@dataclass
class Foo:
    foo_name: str # foo_name -> FOO NAME


@dataclass
class Bar:
    bar_name: str # bar_name -> barName


@dataclass
class Baz:
    baz_name: str # baz_name -> B A Z
    baz_foo: List[Foo] # baz_foo -> BAZ FOO
    baz_bar: List[Bar] # baz_bar -> BAZ BAR
Run Code Online (Sandbox Code Playgroud)

现在:

# encode
baz_e = Baz("name", [{"foo_name": "one"}, {"foo_name": "two"}], [{"bar_name": "first"}])
json_baz_e = json.dumps(asdict(baz_e))
print(json_baz_e)
# {"baz_name": …
Run Code Online (Sandbox Code Playgroud)

python json python-dataclasses

10
推荐指数
1
解决办法
6368
查看次数

标签 统计

json ×1

python ×1

python-dataclasses ×1