কম্পিউটার টিউটোরিয়াল

পাইথন - স্ট্রিংকে JSON অবজেক্টে রূপান্তর করার পদ্ধতি

ওয়েব API-এ ডেটা সাধারণত JSON স্ট্রিং আকারে আদান-প্রদান হয়। পাইথনে এটি ডিকশনারি হিসেবে ব্যবহার করার জন্য পার্স করার প্রয়োজন হয়। json মডিউল এই কাজের জন্য স্ট্যান্ডার্ড টুল।

উদাহরণ

import json

# পাইথন ডিকশনারি → JSON স্ট্রিং (সিরিয়ালাইজেশন)
ini_dict = {'vishesh': 1, 'ram': 5, 'prashant': 10, 'vishal': 15}
ini_string = json.dumps(ini_dict)

print("JSON স্ট্রিং:", ini_string)
print("টাইপ:", type(ini_string))
# আউটপুট: '{"vishal": 15, "ram": 5, "vishesh": 1, "prashant": 10}'
# টাইপ: 

# JSON স্ট্রিং → পাইথন ডিকশনারি (ডিসিরিয়ালাইজেশন)
final_dictionary = json.loads(ini_string)

print("ফাইনাল ডিকশনারি:", final_dictionary)
print("টাইপ:", type(final_dictionary))
# আউটপুট: {'vishal': 15, 'ram': 5, 'vishesh': 1, 'prashant': 10}
# টাইপ: 

গুরুত্বপূর্ণ মেথডসমূহ

মেথডদিকবিবরণ
json.dumps(obj)পাইথন → JSON স্ট্রিংসিরিয়ালাইজেশন, API রেসপন্স, ফাইল লিখতে
json.loads(str)JSON স্ট্রিং → পাইথনডিসিরিয়ালাইজেশন, API রিকোয়েস্ট পার্স করতে
json.dump(obj, file)পাইথন → ফাইলসીધে ফাইলে লিখতে
json.load(file)ফাইল → পাইথনসીધে ফাইল থেকে পড়তে

সাধারণ অপশনসমূহ

# সুন্দর প্রিন্ট (pretty print)
json.dumps(data, indent=4, sort_keys=True)

# নন-ASCII ক্যারেক্টার রাখতে (ইউনিকোড)
json.dumps(data, ensure_ascii=False)

# কাস্টম অবজেক্ট সিরিয়ালাইজ করতে
json.dumps(obj, default=str)  # বা কাস্টম ফাংশন

ত্রুটি হ্যান্ডলিং

import json

try:
    data = json.loads(json_string)
except json.JSONDecodeError as e:
    print(f"অবৈধ JSON: {e}")
    # লগিং, ডিফল্ট ভ্যালু, বা রি-ট্রাই লজিক
নোট: JSON-এ কী অবশ্যই স্ট্রিং হতে হবে। পাইথন ডিকশনারিতে INTEGER কী থাকলে JSON-এ সেটি স্ট্রিং হয়ে যাবে (যেমন: {1: 'a'} → {"1": "a"})।
  1. পাইথনে টাইমস্ট্যাম্প স্ট্রিংকে datetime অবজেক্টে কনভার্ট করবেন?

  2. পাইথনে ডেট স্ট্রিংকে ডেট অবজেক্টে কনভার্ট করবেন?

  3. পাইথনে স্ট্রিংকে JSON-এ রূপান্তর করা

  4. পাইথনে ডিকশনারির স্ট্রিং রিপ্রেজেন্টেশনকে ডিকশনারিতে রূপান্তর করা