from dtruct import dtruct
data = dtruct(a=(1, 2, 3), b='2')
data.get_dict()
>>> {'b': '2', 'a': (1, 2, 3)}
data = dtruct({'a': (1, 2, 3), 'b': '2'})
data.get_dict()
>>> {'b': '2', 'a': (1, 2, 3)}
data.set_dict({'b': 3, 'c': {'d': '4', 'e': ({'f': {'g': 5}},)}, 'h': (1, 2, 3)})
data.get_dict()
>>> {'h': (1, 2, 3), 'b': 3, 'a': (1, 2, 3), 'c': {'d': '4', 'e': ({'f': {'g': 5}},)}}
data.c.e[0].get_dict()
>>> {'f': {'g': 5}}
data.c.e[0].set_json('{"j": 5}')
data.c.e[0].get_json(sort_keys=True, indent=4, ensure_ascii=True)
>>> {
"f": {
"g": 5
},
"j": 5
}
data.get_compressed()
>>> b'eNqrVkpUslKINtRRMNJRMI7VUVBKAvKNgXQykK5WSgGSSiZKQH4qSF21UhpYOB1ImtbWxtYCJTKQDagFANurEok='
data.set_compressed(b'eNqrVkpUslKINtRRMNJRMI7VUVBKAvKNgXQykK5WSgGSSiZKQH4qSF21UhpYOB1ImtbWxtYCJTKQDagFANurEok=')
data.get_dict()
>>> {'h': (1, 2, 3), 'b': 3, 'a': (1, 2, 3), 'c': {'d': '4', 'e': ({'f': {'g': 5}},)}}
data.set_dict({'a': 1}, recursive=False, deepcopy=True)