- 1.功能简介:
- 2.json格式数据样式
- json格式数据往往是字符串
- python格式:
- json格式:
- 知识点1:序列化 json.dumps(data)
- ‘[{“id”: 1, “name”: “\u6b66\u6c9b\u9f50”, “age”: 18}, {“id”: 2, “name”: “alex”, “age”: 18}]’
- 知识点2:反序列化 json.loads(value)
- [{“id”: 1, “name”: “武沛齐”, “age”: 18}, {“id”: 2, “name”: “alex”, “age”: 18}]
- 知识点4:序列化过程中顺手写入文件 josn.dump(data,file_obj)
- 知识点5:反序列化过程中顺手读取文件 json.load(file_obj)
1.功能简介:
python与其他语言进行联合的项目开发时,往往需要进行"数据交换",但是不同语言语法规则不一样,要想进行交流,需要将数据统一转化为json格式的数据.<br /> python数据转为json数据这个过程,称为:序列化<br /> json格式数据转化为python数据,称为:反序列化
2.json格式数据样式
python格式:
[ {“id”: 1, “name”: “武沛齐”, “age”: 18}, {“id”: 2, “name”: “alex”, “age”: 18}, ]
json格式:
‘[{“id”: 1, “name”: “\u6b66\u6c9b\u9f50”, “age”: 18}, {“id”: 2, “name”: “alex”, “age”: 18}]’
2. python格式数据序列化后,有些地方有些差异
```python
data = [
{"id": 1, "name": "武沛齐", "age": 18},
{"id": 2, "name": "alex", "age": 18},
('wupeiqi',123),
]
# JSON格式
value = '[{"id": 1, "name": "武沛齐", "age": 18}, {"id": 2, "name": "alex", "age": 18},["wupeiqi",123]]'
# 由于json中没有元组,所以元组会转化为列表
# 并且反向转化回来后,也会重新变成列表
3.语法命令
data = [ {“id”: 1, “name”: “武沛齐”, “age”: 18}, {“id”: 2, “name”: “alex”, “age”: 18}, ]
result = json.dumps(data) print(result)
‘[{“id”: 1, “name”: “\u6b66\u6c9b\u9f50”, “age”: 18}, {“id”: 2, “name”: “alex”, “age”: 18}]’
知识点2:反序列化 json.loads(value)
data_string = ‘[{“id”: 1, “name”: “武沛齐”, “age”: 18}, {“id”: 2, “name”: “alex”, “age”: 18}]’
data_list = json.loads(data_string)
print(data_list)
[{“id”: 1, “name”: “武沛齐”, “age”: 18}, {“id”: 2, “name”: “alex”, “age”: 18}]
2. 序列化过程中汉字内容为unicode码,这个时候可以转化为汉字
```python
# 知识点3:序列化中汉字字符串保留 json.dumps(data,ensure_ascii=False)
import json
data = [
{"id": 1, "name": "武沛齐", "age": 18},
{"id": 2, "name": "alex", "age": 18},
]
res = json.dumps(data, ensure_ascii=False)
print(res) # '[{"id": 1, "name": "武沛齐", "age": 18}, {"id": 2, "name": "alex", "age": 18}]'
import json
data = [ {“id”: 1, “name”: “武沛齐”, “age”: 18}, {“id”: 2, “name”: “alex”, “age”: 18}, ]
with open(‘xxx.json’, mode=’w’, encoding=’utf-8’) as file_object: json.dump(data, file_object)
知识点5:反序列化过程中顺手读取文件 json.load(file_obj)
with open(‘xxx.json’, mode=’w’, encoding=’utf-8’) as file_object: json.load(file_object) ```