Python 将此内容转换为JSON?

Python 将此内容转换为JSON?,python,json,wrapper,Python,Json,Wrapper,我在这里使用这个包装: 我在这里使用这个代码: b = Bittrex(api_key="myapikey", api_secret="mysecretkey") ba = b.get_balance() print (ba) 印刷品(ba)指出: (很长) 如何将其转换为JSON?我知道它需要双引号而不是单引号,十进制(“#”)不正确 或者我如何编辑包装器,使其打印到JSON 谢谢 看起来你打印的是一个dict,而不是字符串。如果是这样,您肯定不想将dict转换为字符串表示,然后尝试将该

我在这里使用这个包装:

我在这里使用这个代码:

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

print (ba)
印刷品(ba)指出: (很长)

如何将其转换为JSON?我知道它需要双引号而不是单引号,十进制(“#”)不正确

或者我如何编辑包装器,使其打印到JSON


谢谢

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

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

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

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

相同的方法来处理它们,到目前为止您尝试了什么?你有没有发现类似的问题?你想问什么问题?看看如何创建一个,以及阅读什么是(ba)类型?如果你花几分钟时间学习json的默认格式,你至少会知道如何格式化字符串,使其成为“json”。你可以从那里开始。