将python3的dict字典格式转换成严格的json格式

本文详细介绍了如何在Python中将字典格式转换为标准JSON格式,以确保在跨语言环境中(如Java)的兼容性和正确解析。通过使用`json.dumps()`方法的不同参数设置,如`separators`和`ensure_ascii`,可以精确控制输出格式,去除不必要的空格和确保Unicode字符的正确显示。

python3中的字典dict格式会将{"a":"1","b":"2"}的格式自动转换为{'a': ' 1', 'b': '2'}单引号并添加上空格,到Java或者其他强类型中或者高版本的json下不能识别,比如在python中将字典转换成功json后传给Java,很有可能在Java中不能识别带空格和单引号的json格式,那么就需要在python3中把格式转换成标准的json格式,直接上代码示例:

import json

dict1 = {"a":"1",
         "b":"2"}
dict2 = {"a":"1",
         "姓名":"马云"}
# 直接转换
json1 = json.dumps(dict1)
json1_1 = json.dumps(dict2)
# 严格格式转换
json2 = json.dumps(dict1, separators=(',', ':'), ensure_ascii=False)
json2_1 = json.dumps(dict2, separators=(',', ':'), ensure_ascii=False)
# 如编码格式不能通过请求参数传递,则转换下编码格式
json3 = json.dumps(dict2, separators=(',', ':'), ensure_ascii=False).encode('utf-8').decode('latin1')

print("直接转换dict1", json1)
print("直接转换dict2", json1_1)
print("严格格式转换dict1", json2)
print("严格格式转换dict2", json2_1)
print("严格格式编码转换dict2", json3)

打印结果

直接转换dict1 {"a": "1", "b": "2"}
直接转换dict2 {"a": "1", "\u59d3\u540d": "\u9a6c\u4e91"}
严格格式转换dict1 {"a":"1","b":"2"}
严格格式转换dict2 {"a":"1","姓名":"马云"}
严格格式编码转换dict2 {"a":"1","å§å":"马äº"}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值