
1json简介
json是一种轻量级的数据交换方式,受JavaScript对象文字语法的启发而开发。json数据层次结构简洁而清晰,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
python中导入json方法:import json(内置模块)
函数:
json.dump/json.dumps 序列化python对象为json
json.load/json.loads 反序列化json为python对象
2序列化与反序列化原则
python 对象序列化为json:

python 对象序列化为json:

3函数实例
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
>>> print(json.dumps("\"foo\bar"))
"\"foo\bar"
>>> print(json.dumps('\u1234'))
"\u1234"
>>> print(json.dumps('\\'))
"\\"
>>> print(json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True))
{"a": 0, "b": 0, "c": 0}
>>> json.dumps([1, 2, 3, {'4': 5, '6': 7}], separators=(',', ':'))
'[1,2,3,{"4":5,"6":7}]'
>>>print(json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4))
{
"4": 5,
"6": 7
}
>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
['foo', {'bar': ['baz', None, 1.0, 2]}]
>>> json.loads('"\\"foo\\bar"')
'"foo\x08ar'
4数据保存与数据读取
使用方式:以file-like的方式保存或者读取。
例如:
with open(“filename.json”,”w”) as f:
f.write(json.dumps(your_data))
with open(“filename.json”,“r”) as f:
your_data=json.loads(f.read())
或者:
f=open('filename.json','w')
json.dumps(your_data,f)


5json进阶:序列化类
以下内容来自于廖老师官方分享:
链接:http://135.mx/iIj2Mn
import jsonclass Student(object): def __init__(self, name, age, score): self.name = name self.age = age self.score = score s = Student('Bob', 20, 88) print(json.dumps(s))
显然,直接序列化是不行的,我们能做的方法之一是将类实例化后写入一个字典,就能序列化了:
def student2dict(std):
return { 'name': std.name,
'age': std.age,
'score': std.score
}
print(json.dumps(s,default=student2dict))
或者直接把类的实例变为dict:
print(json.dumps(s, default=lambda obj: obj.__dict__))
今天的关于json的分享就这些了,可点击下方“阅读原文”了解官方内容。





