将Python的命名元组(namedtuple)序列化为json。
- 论坛
- 将Python的命名元组(namedtuple)序列化为json。
9 浏览
将Python的命名元组(namedtuple)序列化为json。
如何在保留字段名称的情况下将一个 namedtuple
序列化为 json 是推荐的方法?
将一个 namedtuple
序列化为 json 会导致只有值被序列化,字段名称会丢失。我希望在 json 化时也保留字段,所以做了以下操作:
class foobar(namedtuple('f', 'foo, bar')): __slots__ = () def __iter__(self): yield self._asdict()
以上做法能够按照我预期的方式将其序列化为 json,并且在其他地方(比如属性访问等)使用时表现得像一个 namedtuple
,除了在迭代时结果不像元组(在我的用例中这是可以接受的)。
如何才能以保留字段名称的方式正确地转换为 json?