一种可能的方法是拥有一个
serialize函数,该函数可以 即时 生成字典的副本并使用标准
json模块来转储字符串。初步实现如下所示:
import jsondef serialize(data): _data = {} for k, v in data.items(): if isinstance(v, int): _data[k] = hex(v) else: _data[k] = v return json.dumps(_data, indent=4)if __name__ == "__main__": data = {"a":1, "b":2.0, "c":3} print serialize(data)输出:
{ "a": "0x1", "c": "0x3", "b": 2.0}请注意,此初步实现不适用于列表,但是可以轻松更改。
有些人可能认为这种方法会占用大量内存,因为它会创建原始数据的副本。可能是这种情况,但是如果您的数据结构太大,那么您应该(a)不使用JSON,或(b)在工作目录中创建JSON模块的副本并根据需要进行调整。
干杯。



