जवाबों:
JSON एक प्रारूप है जो स्ट्रिंग में ऑब्जेक्ट्स को एनकोड करता है। सीरियलाइज़ेशन का अर्थ किसी वस्तु को उस स्ट्रिंग में परिवर्तित करना है , और डीसर्लाइज़ेशन इसका उलटा ऑपरेशन है (स्ट्रिंग बदलें -> ऑब्जेक्ट) ।
डेटा ट्रांसमिट करते समय या किसी फाइल में स्टोर करते समय, डेटा को बाइट स्ट्रिंग्स की आवश्यकता होती है, लेकिन इस प्रारूप में जटिल ऑब्जेक्ट शायद ही कभी होते हैं। सीरियलाइजेशन इन जटिल वस्तुओं को ऐसे उपयोग के लिए बाइट स्ट्रिंग्स में बदल सकता है। बाइट स्ट्रिंग को प्रेषित करने के बाद, रिसीवर को बाइट स्ट्रिंग से मूल ऑब्जेक्ट को पुनर्प्राप्त करना होगा। इसे डिसेरिएलाइजेशन के रूप में जाना जाता है।
कहो, आपके पास एक वस्तु है:
{foo: [1, 4, 7, 10], bar: "baz"}
JSON में क्रमबद्ध करने से इसे एक स्ट्रिंग में परिवर्तित किया जाएगा:
'{"foo":[1,4,7,10],"bar":"baz"}'
जिसे तार के माध्यम से कहीं भी संग्रहीत या भेजा जा सकता है। रिसीवर तब मूल वस्तु को वापस पाने के लिए इस स्ट्रिंग को निष्क्रिय कर सकता है। {foo: [1, 4, 7, 10], bar: "baz"}
।
"{foo: [1, 4, 7, 10], bar: "baz"}"
डेटा भंडारण के संदर्भ में, क्रमांकन (या क्रमांकन) डेटा संरचनाओं या ऑब्जेक्ट स्थिति का एक प्रारूप में अनुवाद करने की प्रक्रिया है जिसे संग्रहीत किया जा सकता है (उदाहरण के लिए, फ़ाइल या मेमोरी बफर में) या प्रसारित (उदाहरण के लिए, नेटवर्क कनेक्शन पर) लिंक) और बाद में खंगाला। [...]
बाइट्स की एक श्रृंखला से डेटा संरचना को निकालने वाला विपरीत ऑपरेशन, डीरिएरलाइज़ेशन है । विकिपीडिया से
पायथन में "क्रमांकन" केवल दिए गए डेटा संरचना (जैसे dict
) को अपने वैध JSON लटकन (ऑब्जेक्ट) में परिवर्तित करने के अलावा और कुछ नहीं करता है ।
True
JSONs में परिवर्तित कर दिया जाएगा true
और खुद शब्दकोश फिर उद्धरणों में समझाया जाएगा।True
/ False
,true
/false
json
क्रमांकन करने का मानक तरीका है:कोड उदाहरण:
data = {
"president": {
"name": "Zaphod Beeblebrox",
"species": "Betelgeusian",
"male": True,
}
}
import json
json_data = json.dumps(data, indent=2) # serialize
restored_data = json.loads(json_data) # deserialize
# serialized json_data now looks like:
# {
# "president": {
# "name": "Zaphod Beeblebrox",
# "species": "Betelgeusian",
# "male": true
# }
# }
स्रोत: realpython.com
पायथन का उपयोग करके सीरियलाइज़ेशन और डिस्क्रिअलाइज़ेशन की व्याख्या
अजगर में, अचार मॉड्यूल को क्रमांकन के लिए उपयोग किया जाता है। तो, क्रमिक प्रक्रिया को पाइथन में अचार कहा जाता है । यह मॉड्यूल पायथन मानक पुस्तकालय में उपलब्ध है ।
अचार का उपयोग करके सीरियलाइज़ेशन
import pickle
#the object to serialize
example_dic={1:"6",2:"2",3:"f"}
#where the bytes after serializing end up at, wb stands for write byte
pickle_out=open("dict.pickle","wb")
#Time to dump
pickle.dump(example_dic,pickle_out)
#whatever you open, you must close
pickle_out.close()
PICKLE फ़ाइल (नोटपैड जैसे टेक्स्ट एडिटर द्वारा खोली जा सकती है) में यह (क्रमबद्ध डेटा) होता है:
€} q (KX 6qKX 2qKX fqu।
अचार का उपयोग करते हुए Deserialization
import pickle
pickle_in=open("dict.pickle","rb")
get_deserialized_data_back=pickle.load(pickle_in)
print(get_deserialized_data_back)
आउटपुट:
{1: '6', 2: '2', 3: 'एफ'}