为了账号安全,请及时绑定邮箱和手机立即绑定

将 collections.Counter 转换为 json

将 collections.Counter 转换为 json

心有法竹 2023-03-22 10:56:30
我有这个 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}


查看完整回答
反对 回复 2023-03-22
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

看起来是因为元组的每个元素都是一个字符串,而您正在将整个元组转换为一个字符串

我自己对 json.dumps 函数不太熟悉,但是在将它传递给 dict 时,你能不能把密钥作为元组保留?


查看完整回答
反对 回复 2023-03-22
?
动漫人物

TA贡献1815条经验 获得超10个赞

我建议你看看str(('A', 'B'))产生了什么,因为它会有反斜杠来保留单引号



查看完整回答
反对 回复 2023-03-22
  • 3 回答
  • 0 关注
  • 208 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号