您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Python中使用json.dumps()将整数打印为十六进制字符串

如何在Python中使用json.dumps()将整数打印为十六进制字符串

一种可能的方法是拥有一个serialize函数,该函数可以 即时 生成字典的副本并使用标准json模块来转储字符串。初步实现如下所示:

import json

def 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模块的副本并根据需要进行调整。

干杯。

python 2022/1/1 18:36:41 有238人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶