jsonpickle

Posted nick560

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsonpickle相关的知识,希望对你有一定的参考价值。

 

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‘>






以上是关于jsonpickle的主要内容,如果未能解决你的问题,请参考以下文章

使用 jsonpickle (python) 进行类型演化

如何使用 jsonpickle 排除序列化的特定字段?

jsonpickle

Python 序列化JsonPickle

jsonpickle

python模块-jsonpickle