A---dumps----(json字符串)----loads---B;
obj---stringify---(json字符串)----parse---str;(前端之JS)
var obj1={name:"wc",age:18};
var str=JSON.stringify(obj1);
console.log(str);
var str1=‘{"name":"wc","age":18}‘;
var obj=JSON.parse(str1);
console.log(obj);
序列化模块
Python中用于序列化的两个模块:
- json 跨平台跨语言的数据传输格式,用于【字符串】和 【python基本数据类型】 间进行转换
- pickle python内置的数据传输格式,多用于二进制形式,用于【python特有的类型】 和 【python基本数据类型】间进行转换
Json模块提供了四个功能:dumps、dump、loads、load
pickle模块提供了四个功能:dumps、dump、loads、load
#pickle.dumps将数据通过特殊的形式转换为只有python能识别的字符串
import pickle
data={‘k1‘:123,‘k2‘:‘hello‘}
p_str=pickle.dumps(data)
print(p_str) ------->b‘\x80\x03}q\x00(X\x02\x00\x00\x00k2q\x01X\x05\x00\x00\x00helloq\x02X\x02\x00\x00\x00k1q\x03K{u.‘
s = pickle.loads(p_str)
print(s) -------->{‘k2‘: ‘hello‘, ‘k1‘: 123}
#pickle.dump将数据通过特殊的形式转换为只有python认识的字符串,并写入文件
with open(‘db‘,‘w‘) as fp:
pickle.dump(data,fp)
json实例
#json.loads()#将字符串转换成python基本数据类型,注:里面一定要是双引号,外面是单引号
import json
s=‘{"name":"tina","age":"18"}‘
l=‘[1,2,3,4]‘
r=json.loads(l)
w=json.loads(s)
print(r,type(r))
print(w,type(w))
############执行结果如下:###########
[1, 2, 3, 4] <class ‘list‘>
{‘age‘: ‘18‘, ‘name‘: ‘tina‘} <class ‘dict‘>
#json.dumps()将python的基本数据类型转换成字符串
a={"name":"tina","age":"18"}
b=json.dumps(a)
print(b,type(b))
#############执行结果如下:##########
{"age": "18", "name": "tina"} <class ‘str‘>
#不带s的是对文件进行操作
dic = {‘k1‘:123,‘k2‘:345}
a=json.dump(dic,open(‘db‘,‘w‘))
print(a,type(a))
#读内容
#字符串转换成字典
r=json.load(open(‘db‘,‘r‘))
print(r,type(r))
#############执行结果如下:##########
写入db文件中的内容即为dict
{‘k2‘: 345, ‘k1‘: 123} <class ‘dict‘>