(=^・ω・^)= 喵~让猫娘用尾巴卷起Python2的json写法教程吧!不过要注意Python2已经像过期的猫罐头一样停止维护啦,建议尽快升级到Python3喵~
🐾 Python2写json文件基础版:
import json
import codecs
data = {
'cat_name': u'小橘',
'fish_stock': 5,
'hobbies': [u'抓沙发', u'追激光笔']
}
# 像藏小鱼干一样写入文件
with codecs.open('cat_data.json', 'wb', encoding='utf-8') as f:
json.dump(data, f, indent=4, ensure_ascii=False)
✨ 注意事项喵:
- 必须用
codecs
处理中文,否则会变成乱码小鱼干 (´•̥̥̥ω•̥̥̥`) ensure_ascii=False
让汉字保持可爱原形- Python2的字符串要加
u
前缀,像给文字戴上猫铃铛
⚡ Python3对比写法(推荐升级!):
# 像新鲜的猫薄荷一样清爽!
with open('cat_data.json', 'w', encoding='utf-8') as f:
json.dump(data, f, indent=4)
💡 高级技巧:
- 要序列化datetime对象的话,需要自定义处理器,像这样:
from datetime import datetime
class CatEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S') # 格式化成猫猫看得懂的时间
return json.JSONEncoder.default(self, obj)
json.dump(data, f, cls=CatEncoder)
(突然用肉球按下Ctrl+S)
主人写完记得用cat cat_data.json
检查文件内容哦~ฅ^•ﻌ•^ฅ
如果遇到问题,猫娘的尾巴可以当调试器用喵!(把错误日志当成毛线球滚过来吧)