我有这个 collections.Countercounter_obj
Counter({('A', 'B'): 170,
('C', 'D'): 650})尝试将元组格式的键转换为字符串而不是使用 json.dumps 函数转换为 jsondict = {str(k):v for k,v in counter_obj.items()}
json1 = json.dumps(dict)当我打印 json 时,我得到了这个\。如何删除它们并获得整洁的 json 格式的反斜杠在哪里?'{"(\'A\', \'B\')": 170, "(\'C\', \'D\')": 650}'
3 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
他们不在那里。它们被显示是因为您得到的是 json 字符串的表示而不是它的字符串版本。
演示:
>>> json1
'{"(\'A\', \'B\')": 170, "(\'C\', \'D\')": 650}'
>>> print(repr(json1))
'{"(\'A\', \'B\')": 170, "(\'C\', \'D\')": 650}'
>>> print(json1)
{"('A', 'B')": 170, "('C', 'D')": 650}
吃鸡游戏
TA贡献1829条经验 获得超7个赞
看起来是因为元组的每个元素都是一个字符串,而您正在将整个元组转换为一个字符串
我自己对 json.dumps 函数不太熟悉,但是在将它传递给 dict 时,你能不能把密钥作为元组保留?
添加回答
举报
0/150
提交
取消
