005---json & pickle

json & pickle

什么是序列化

  • 序列化是指把内存里的数据类型转变成字符串,以便使其能存储在硬盘和网络传输。因为只能接收bytes类型。

为什么要序列化

  • 持久化存储

分类

- json:用于字符串和python数据类型之间进行转换
- pickle:python特有的特性  

方法

  • dumps、dump、loads、load

使用

import json

# 最好是双引号
dic = {"name": '江子牙', 'age': 21, "性别": "男"}
print('序列化之前:', type(dic), dic)
j1 = json.dumps(dic, ensure_ascii=False)
print('序列化之后:', type(j1), j1)
dic1 = json.loads(j1)
print('反序列化:', type(dic1), dic1)

# json文件相关操作

f1 = open('1.json', 'w+', encoding='utf-8')

# 文件写入
json.dump(j1, f1, ensure_ascii=False)
f1.seek(0)
data = f1.read()
print('dump写入后的数据', data)
f1.close()

# 文件读取
f2 = open('1.json', 'r', encoding='utf-8')

res = json.load(f2)
print('load读取写入的数据', res)

json是什么

  • json是一种轻量级的数据交换格式,简洁清晰的层次结构使人易于阅读,提高网络传输效率(以bytes传输)

pickle VS json

- json
    - 优点:跨语言,体积小,
    - 缺点:支持的数据类型少,List  str  int  tuple  dict
- pickle
    - 优点:专为python设计,支持python所有的数据类型,包括函数
    - 缺点:只能在python中使用,存数数据占用空间大
posted @ 2019-01-30 15:40  爬呀爬Xjm  阅读(102)  评论(0编辑  收藏  举报