উত্তর:
জেএসএন হ'ল একটি বিন্যাস যা স্ট্রিংয়ে অবজেক্টগুলি এনকোড করে। সিরিয়ালাইজেশন অর্থ কোনও বস্তুকে সেই স্ট্রিংয়ে রূপান্তর করা , এবং ডিসরিয়ালাইজেশন হ'ল তার বিপরীত ক্রিয়াকলাপ (স্ট্রিং -> অবজেক্টে রূপান্তর করা) ।
ডেটা প্রেরণ করার সময় বা কোনও ফাইলে তাদের সংরক্ষণ করার সময়, ডেটা বাইট স্ট্রিংগুলি করা প্রয়োজন, তবে জটিল অবজেক্টগুলি এই ফর্ম্যাটে খুব কমই হয়। সিরিয়ালাইজেশন এই ধরনের জটিল বস্তুগুলিকে এই জাতীয় ব্যবহারের জন্য বাইট স্ট্রিংগুলিতে রূপান্তর করতে পারে। বাইট স্ট্রিংগুলি সঞ্চারিত হওয়ার পরে, রিসিভারকে বাইট স্ট্রিং থেকে আসল অবজেক্টটি পুনরুদ্ধার করতে হবে। এটি deserialization হিসাবে পরিচিত।
বলুন, আপনার একটি বিষয় রয়েছে:
{foo: [1, 4, 7, 10], bar: "baz"}
জেএসএনে সিরিয়ালাইজ করা এটিকে স্ট্রিংয়ে রূপান্তর করবে:
'{"foo":[1,4,7,10],"bar":"baz"}'
যা স্টোর বা তারের মাধ্যমে যে কোনও জায়গায় প্রেরণ করা যেতে পারে। রিসিভার তারপরে আসল অবজেক্টটি ফিরে পেতে এই স্ট্রিংটিকে ডিসরিয়ালাইজ করতে পারে। {foo: [1, 4, 7, 10], bar: "baz"}
।
"{foo: [1, 4, 7, 10], bar: "baz"}"
ডেটা স্টোরেজ প্রসঙ্গে সিরিয়ালাইজেশন (বা সিরিয়ালাইজেশন) হ'ল ডেটা স্ট্রাকচার বা অবজেক্ট স্টেটকে এমন বিন্যাসে অনুবাদ করার প্রক্রিয়া যা সংরক্ষণ করা যেতে পারে (উদাহরণস্বরূপ, কোনও ফাইল বা মেমরি বাফারে) বা সংক্রমণিত (উদাহরণস্বরূপ, কোনও নেটওয়ার্ক সংযোগ জুড়ে) লিঙ্ক) এবং পরে পুনর্গঠন। [...]
বিপরীত অপারেশন, ধারাবাহিক বাইট থেকে একটি ডেটা কাঠামো আহরণ করা হয় deserialization । উইকিপিডিয়া থেকে
পাইথনে "সিরিয়ালাইজেশন" প্রদত্ত ডেটা স্ট্রাকচারকে (যেমন ক dict
) তার বৈধ JSON দুল (অবজেক্ট) এ রূপান্তর করা ছাড়া আর কিছুই করে না ।
True
JSONs রূপান্তরিত হবে true
এবং অভিধান নিজেই তারপর উদ্ধৃতির মধ্যে encapsulated করা হবে না।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
# }
# }
সূত্র: রিয়েলপথন ডট কম
পাইথন ব্যবহার করে সিরিয়ালাইজ এবং ডেসরিয়ালাইজ করার ব্যাখ্যা
পাইথনে, আচার মডিউলটি সিরিয়ালাইজেশনের জন্য ব্যবহৃত হয়। সুতরাং, সিরিয়ালাইজেশন প্রক্রিয়াটিকে পাইথনকে পিকিং বলা হয়। পাইথন স্ট্যান্ডার্ড লাইব্রেরিতে এই মডিউলটি উপলব্ধ ।
আচার ব্যবহার করে সিরিয়ালাইজেশন
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 ফাইল (নোটপ্যাডের মতো কোনও পাঠ্য সম্পাদক দ্বারা খোলা যেতে পারে) এতে (সিরিয়ালযুক্ত ডেটা) রয়েছে:
€} কিউ (KX 6qKX 2qKX fqu।
আচার ব্যবহার করে ডিসিরিয়ালেশন
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: 'চ'}