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参数

 

posted @ 2021-06-16 09:20  习久性成  阅读(835)  评论(0编辑  收藏  举报