Handle None values in TOML
mainUnlike many TOML libraries, rtoml allows you to explicitly handle None values during serialization and deserialization using the none_value parameter.
- Ignore
Nonevalues: Setnone_value=None(the default) indumps(). The keys withNonevalues will be omitted from the resulting TOML. - Serialize
Noneas a placeholder: Setnone_valueto a specific string (e.g.,'@None') indumps(). This convertsNoneinto a string literal in the TOML file. - Deserialize placeholder back to
None: When usingload()orloads(), pass the same string used during serialization tonone_valueto convert those literals back into PythonNoneobjects.
import rtoml
obj = {'a': None, 'b': 1}
# 1. Serialize as placeholder
serialized = rtoml.dumps(obj, none_value='@None')
# Result: a = "@None"
# b = 1
# 2. Deserialize back to None
deserialized = rtoml.load(serialized, none_value='@None')
assert deserialized['a'] is None