小编Tim*_*Tim的帖子

如何处理将camelCase json 映射到snake_case python 数据类字段名称?

我正在使用 Python 与 Web api 交互,其中 json 响应中的键采用驼峰命名法。我的Python模型是数据类,其字段名称是snake_case。当我从 json 转换为 model 时,反之亦然,名称显然不匹配。

作为参考,我使用 asdict 函数将模型转换为 json。

def to_json(self):
  return asdict(
    self, 
    dict_factory=lambda _fields: {
      key: value for (key, value) in _fields if value is not None
    }
  )
Run Code Online (Sandbox Code Playgroud)

从 json 转换为 model 的代码稍微复杂一些,但也依赖于字段名称来映射到 json 键。这两种转换都足够通用,可以适用于我的所有模型,而无需为每个单独的模型(30 个左右)创建转换器。

在这种情况下,使用 comeCase 作为我的模型字段名称是否是常见做法(即使它不符合标准命名实践)?

我无法修改 api,无论好坏,键名称将始终采用驼峰命名法。

python python-dataclasses

4
推荐指数
1
解决办法
3932
查看次数

标签 统计

python ×1

python-dataclasses ×1