python之序列化json.dumps()函数输出json格式,使用indent参数对输出进行json字符串格式优化,使用ensure_ascii参数对中文输入的支持
json.dumps(a, indent=5, ensure_ascii=False)
ensure_ascii表示的意思是将python数据类型解析为json格式时是否需要转为ASCII码,如果打开(默认打开即为True),那么python数据类型转为json字符串后的中文会变成ASCII编码;
如果将其设置为False,则python数据类型解析为json时,不会变为ASCII编码,而是保持其默认显示即中文格式。
例如1:
import json friends={"name":"王虎","name1":"张二","name2":"姚晨"} print(json.dumps(friends))
执行结果:
输出的中文是中文的ascii 字符码,而不是真正的中文。
这是因为json.dumps 序列化时对中文默认使用的ascii编码。
因此需要使用ensure_ascii=False来指定不需要将中文转化为ascii码,而是保持其正常中文显示。
例如2:
friends={"name":"王虎","name1":"张二","name2":"姚晨"} print(json.dumps(friends,ensure_ascii=False))
执行结果:
-------------------------------------------------------------------------------------------------------------------------------------------
indent表示间隔的长度,使python数据类型在序列化的同时,保持json格式优化:
例如1:不加indent参数
例如2:加indent参数
去期待陌生,去拥抱惊喜。