hutool.core.struct

Struct 结构化数据类。

提供 dict 与 object 混合体,支持 obj.keyobj['key'] 两种访问方式,

Module Contents

Classes

Struct

结构化字典,支持属性访问。

Data

API

hutool.core.struct.__all__ = ['Struct']
class hutool.core.struct.Struct

Bases: dict

结构化字典,支持属性访问。

Struct 继承自 dict,在保留字典全部行为的同时, 允许通过 obj.key 形式访问键值对。

s = Struct({"name": "test", "age": 20})
assert s.name == "test"
assert s["age"] == 20
s.email = "a@b.com"
assert s["email"] == "a@b.com"

Initialization

Initialize self. See help(type(self)) for accurate signature.

__getattr__(name: str) Any

属性访问,映射到字典键。

__setattr__(name: str, value: Any) None

属性设置,映射到字典键。

__delattr__(name: str) None

属性删除,映射到字典键。

__repr__() str
classmethod from_dict(obj: Any, recursive: bool = True) Any

将 dict/list 递归转换为 Struct 对象。

参数:
  • obj – 输入对象(支持 dict、list、tuple 或其他标量)

  • recursive – 是否递归转换嵌套对象,默认 True

返回:

转换后的对象(dict → Struct, list → 转换后的列表)

data = {"user": {"name": "test", "tags": [{"id": 1}, {"id": 2}]}}
s = Struct.from_dict(data)
assert s.user.name == "test"
assert s.user.tags[0].id == 1