把这个东西转换成JSON?

2024-09-28 03:16:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在这里使用这个包装:

https://github.com/mondeja/bittrex_v2

我在这里使用这个代码:

b = Bittrex(api_key="myapikey", api_secret="mysecretkey")
ba = b.get_balance()

print (ba)

印刷品(ba)指出: https://pastebin.com/x5AVLDXH(很长)

如何将其转换为JSON?我知道它需要双引号而不是单引号,小数点('#')不正确。。。你知道吗

或者我该如何编辑包装器以使其打印成JSON?你知道吗

谢谢!你知道吗


Tags: key代码httpsgithubcomapijsonsecret
1条回答
网友
1楼 · 发布于 2024-09-28 03:16:33

看起来你打印的是一个dict,而不是字符串。如果是这样,您肯定不想将dict转换为它的字符串表示形式,然后尝试将该字符串表示形式转换为JSON字符串。您只需要将dict直接编码为JSON。你知道吗

唯一明显棘手的是将Decimal值转换为JSON可以处理的内容。你必须决定你想要什么,也许只是转换成float,也许转换成float,但也要确认你这样做没有丢失任何精度,也许转换成字符串,甚至可能转换成一些特殊的腌菜东西,比如{'type': 'decimal.Decimal', 'args': ['0E-8']}。你想要哪一个完全取决于你以后打算如何使用JSON。你知道吗

一旦你决定了你想做什么,就很容易了。^{}的文档有一个示例,演示了如何通过将任意迭代器转换为list来支持这些迭代器,这很容易适应,比如说,通过将它们转换为float来支持Decimal

class DecimalEncoder(json.Encoder):
    def default(self, o):
        if isinstance(o, decimal.Decimal):
            return float(o)
        return super().default(o)

enc = DecimalEncoder()
json_string = enc.encode(big_dict_with_decimals)

我没有测试过你的字典,也没有费力地浏览过,看看是否还有其他奇怪的类型。但是如果有的话,处理它们的方法与Decimal相同。你知道吗

相关问题 更多 >

    热门问题