【记录】json输出美化

【记录】json输出美化

json写入本地文件,用的json.dump直接写或者json.dumps然后写字符串;这两种方法写完之后发现字符串中的中文都变成ASCII码,难看!

a = {'name': '吕布奉先', 'age':42, '武器':"方天画戟", "坐骑":"赤兔马"}
import json

json.dump(a, open('a.json', 'w', encoding='utf8'))
{"name": "\u5415\u5e03\u5949\u5148", "age": 42, "\u6b66\u5668": "\u65b9\u5929\u753b\u621f", "\u5750\u9a91": "\u8d64\u5154\u9a6c"}

json.dump()和dumps()中有参数 ensure_ascii=False 确保输出不是ascii 码,美观了一点点!

a = {'name': '吕布奉先', 'age':42, '武器':"方天画戟", "坐骑":"赤兔马"}
import json

json.dump(a, open('a.json', 'w', encoding='utf8'), ensure_ascii=False)
{"name": "吕布奉先", "age": 42, "武器": "方天画戟", "坐骑": "赤兔马"}

还不够,这里显示一行,希望每一个key-value 都在不同的行显示;indent=4参数可以做到,indent表示缩放,数字为缩放大小,可调节;

a = {'name': '吕布奉先', 'age':42, '武器':"方天画戟", "坐骑":"赤兔马"
     ,"s":[1,2,3,4,5],
     'y':{1:2,3:4}}
import json

json.dump(a, open('a.json', 'w', encoding='utf8'), ensure_ascii=False, indent=1)
{
 "name": "吕布奉先",
 "age": 42,
 "武器": "方天画戟",
 "坐骑": "赤兔马",
 "s": [
  1,
  2,
  3,
  4,
  5
 ],
 "y": {
  "1": 2,
  "3": 4
 }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值