json & pickle

Posted 爱吃西红柿的猫

tags:

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

json & pickle

json:一般用于不同的程序语言之间的序列化与反序列化,它的核心就是字符串,是字符串和python的基本数据类型之间的转换

    json模块提供了四个功能:dumpsdump(序列化, 存), loads(反序列化, 读), load

#json.loads用于将字典,列表,元素形式的字符串,转换成相应的字典、列表、元组
#对于字典里面的内容,里面必须要是""
#例子:
l = "[11,22,33,44]"
import json
result = json.loads(l)
print(result,type(result))
#输出结果:[11, 22, 33, 44] <class ‘list‘>

json.dumps()#将Python的Python基本数据类型转换成字符串
user_list = [11,22,33,44]
import json
s = json.dumps(user_list)
print(s,type(s))

pickle:专用于python的基本数据类型和一种只有python能认识的序列之间的转换,这种序列常常是bytes类型。pickle强大在于可以将代码,类序列化

    pickle模块提供了四个功能:dumpsdump(序列化, 存), loads(反序列化, 读), load 

import pickle

data = {"k1": 123, "k2": Hello}

# pickle.dumps 将数据通过特殊的形式转换为只有python特有的类型
result = pickle.dumps(data)
print(result, type(result))

#b‘\x80\x03}q\x00(X\x02\x00\x00\x00k1q\x01K{X\x02\x00\x00\x00k2q\x02X\x05\x00\x00\x00Helloq\x03u.‘ <class ‘bytes‘>


# pickle.dump 将数据通过特殊的形式转换为只有python特有的类型,并写入文件
with open(dbb.txt, wb) as f:
    pickle.dump(data, f)

# pickle.loads 将python特有的类型还原成原数据
new_data = pickle.loads(result)
print(new_data, type(new_data))

#{‘k1‘: 123, ‘k2‘: ‘Hello‘} <class ‘dict‘>


# pickle.load 从文件中读出只有python特有的类型还原成原数据
with open(dbb.txt, rb) as f:
    new_data = pickle.load(f)
    print(new_data, type(new_data))

#{‘k1‘: 123, ‘k2‘: ‘Hello‘} <class ‘dict‘>

 

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

python之json&pickle

pickle&&json

json & pickle 模块

Python json & pickle & shelve模块

python--json & pickle 模块

json&pickle模块configparse/hashlib/subprocess 模块