প্রত্যেকে যা ব্যাখ্যা করেছে তার মধ্যে একটি সাধারণ উদাহরণ যুক্ত করতে চলেছে,
json.load ()
json.load
নিজেই একটি ফাইলকে ডিসেরায়ালাইজ করতে পারে যেমন এটি কোনও file
বস্তুকে গ্রহণ করে , উদাহরণস্বরূপ,
# open a json file for reading and print content using json.load
with open("/xyz/json_data.json", "r") as content:
print(json.load(content))
আউটপুট হবে,
{u'event': {u'id': u'5206c7e2-da67-42da-9341-6ea403c632c7', u'name': u'Sufiyan Ghori'}}
আমি যদি এর json.loads
পরিবর্তে কোনও ফাইল খোলার জন্য ব্যবহার করি ,
# you cannot use json.loads on file object
with open("json_data.json", "r") as content:
print(json.loads(content))
আমি এই ত্রুটি পেতে হবে:
প্রকারের ত্রুটি: প্রত্যাশিত স্ট্রিং বা বাফার
json.loads ()
json.loads()
স্ট্রিংকে ডিসিরিয়ালাইজ করুন।
সুতরাং ব্যবহার করার জন্য json.loads
আমাকে read()
ফাংশন ব্যবহার করে ফাইলের সামগ্রীটি পাস করতে হবে , উদাহরণস্বরূপ,
ব্যবহার content.read()
সঙ্গে json.loads()
ফাইল ফেরত বিষয়বস্তু,
with open("json_data.json", "r") as content:
print(json.loads(content.read()))
আউটপুট,
{u'event': {u'id': u'5206c7e2-da67-42da-9341-6ea403c632c7', u'name': u'Sufiyan Ghori'}}
এর কারণ content.read()
স্ট্রিং টাইপ হয়<type 'str'>
আমি যদি এর json.load()
সাথে ব্যবহার করি তবে আমি content.read()
ত্রুটি পেয়ে যাব,
with open("json_data.json", "r") as content:
print(json.load(content.read()))
দেয়,
AttributeError: 'str' অবজেক্টের 'পড়ুন' এর কোনও বৈশিষ্ট্য নেই
সুতরাং, এখন আপনি json.load
ফাইলটি ডিসরিয়ালে জানলেন এবং json.loads
একটি স্ট্রিং ডিসরিয়ালাইজ করুন ।
আরেকটি উদাহরণ,
sys.stdin
রিটার্ন file
অবজেক্ট, তাই আমি যদি করি তবে আমি print(json.load(sys.stdin))
আসল জসন ডেটা পাব
cat json_data.json | ./test.py
{u'event': {u'id': u'5206c7e2-da67-42da-9341-6ea403c632c7', u'name': u'Sufiyan Ghori'}}
আমি যদি ব্যবহার json.loads()
করতে চাই তবে আমি তার print(json.loads(sys.stdin.read()))
পরিবর্তে করব।
json.loads(s, *)
- deserializes
(একটিstr
,bytes
বাbytearray
একটি JSON নথি সম্বলিত উদাহরণ) - docs.python.org/3.6/library/json.html