Python serialization and deserialization of-json and pickle
Yun Zhengjie
Copyright Notice: Original works, declined reprint! Otherwise, the legal liability will be investigated.
I. How JSON is serialized and deserialized
Serialization of 1>.json
1 #! /usr/bin/env python2 #_*_coding:utf-8_*_3 #@author: Yinzhengjie4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%e8%87%aa%e5%8a%a8%e5%8c%96%e8%bf%90%e7%bb%b4%e4%b9%8b% e8%b7%af/5 #Email:[email protected]6 7 8 """9 I. What is serialization:Ten The process of changing an object (variable) from memory to a storage or transfer is called serialization, called picking in Python, and in other languages One called serialization,marshalling,flattening and so on, all is a meaning. After serialization, the serialized content can be written to disk, A or through the network to other machines, in turn, the variable from the content from the serialized object re-supervised in memory called deserialization, that is, unpicking. - - two. The relationship between serialization and encoding the serialization is the operation that is performed before encoding. Serialization is the uniform processing of various data types into strings, which need to be specified after serialization is complete - how do strings (e.g., UTF-8,GBK, etc.) be stored in the hard disk? Of course in deserializing the contents of a file is that the first thing to do is decode, - That is , in which case the file is opened, and if the encoding format is turned on, the correct string is obtained so that the deserialization can be done. - + three. JSON module - if we were to pass objects between different programming languages, we had to serialize the objects into standard formats, such as XML, but a better approach would be to serialize them to JSON. + because JSON represents a string that can be read by all languages, it can be easily stored on disk or transmitted over a network. JSON is not just a standard format, A and faster than XML, and can be read directly in the Web page, very convenient. at - """ - - ImportJSON - -accounts = { in "Name":"Yinzhengjie", - "ID":" About", to "banlance":"20000", + } - the #serialization mode one: * #f = open (r "E:\Code\pycharm\ file storage \python Learning Note \day11\yinzhengjie.txt", "W") #打开文件 $ #Panax Notoginseng #json_str = json.dumps (accounts) #序列化操作 - # the #f.write (json_str) #写入文件 + A #serialization mode two: theWith open (r"E:\Code\pycharm\ File Repository \python study notes \day11\yinzhengjie.txt","W") as F: +Json.dump (ACCOUNTS,F)
1 {"Name""Yinzhengjie" "ID" "banlance" "20000 "}
yinzhengjie.txt File Contents
2> Deserialize the method of deserialization
1 #! /usr/bin/env python2 #_*_coding:utf-8_*_3 #@author: Yinzhengjie4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%e8%87%aa%e5%8a%a8%e5%8c%96%e8%bf%90%e7%bb%b4%e4%b9%8b% e8%b7%af/5 #Email:[email protected]6 7 ImportJSON8 9With open (r"E:\Code\pycharm\ File Repository \python study notes \day11\yinzhengjie.txt") as F:Ten Print(Json.load (f))
Two. Serialization and deserialization of pickle
1> serialization mode
1 #! /usr/bin/env python2 #_*_coding:utf-8_*_3 #@author: Yinzhengjie4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%e8%87%aa%e5%8a%a8%e5%8c%96%e8%bf%90%e7%bb%b4%e4%b9%8b% e8%b7%af/5 #Email:[email protected]6 7 ImportPickle8 9 " "Ten Pickle: One 1.> is used to convert between Python-specific types and Python data types A the 2.>pickle module provides four functions: dumps, dump, loads, load. - Note: Converting data into a string that is only recognized by the Python interpreter in a special form is called serialization, and what Python-recognized strings are converted to what we can read is called deserialization. - " " the - -Datainfo = { - "Name":"Yun Zhengjie", + "Password":"123" - } + A at - ##将数据通过特殊的形式转换为只有python语言知识的字符串并写入文件 - #pickle_str = pickle.dumps (datainfo) - #print (PICKLE_STR) - #f = open ("Yinzhengjie.txt", "WB") - #f.write (PICKLE_STR) in - #The above method of writing to the file can also be played so that it looks more simple toWith open ("Yinzhengjie.txt","WB") as F: +Pickle.dump (DATAINFO,F)
2. Deserialization mode
1 #! /usr/bin/env python2 #_*_coding:utf-8_*_3 #@author: Yinzhengjie4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%e8%87%aa%e5%8a%a8%e5%8c%96%e8%bf%90%e7%bb%b4%e4%b9%8b% e8%b7%af/5 #Email:[email protected]6 7 ImportPickle8 9 " "Ten two modules for serialization One 1>.json: Used to convert between string and Python data types A 2>.pickle: Converting between Python-specific types and Python data types - The JSON module provides four functions: dumps, dump, loads, load - The Pickle module provides four functions: dumps, dump, loads, load the " " - - -f = open ("Yinzhengjie.txt","RB") + - #Print (Pickle.loads (F.read () )) #loads方式反序列化 + A Print(Pickle.load (f))#The load method is deserialized
Three. Compare the similarities and differences between JSON and pickle:
1> The same point: all modules used for serialization and deserialization.
2>: JSON is a data storage format common to all languages, and pickle is only a storage format unique to the Python language.
Python serialization and deserialization of-json and pickle