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

পাইথন টাপল JSON ফরম্যাটে রিপ্রেজেন্ট করা

JSON-এ টাপল (Tuple) কনসেপ্ট নেই। পাইথনের json মডিউল টাপলকে JSON অ্যারে (List) এ কনভার্ট করে, কারণ JSON-এ সেটাই নিকটতম সমতুল্য। ইমিউটেবিলিটি প্রিজার্ভ হয় না।

ডিফল্ট বিহেভিয়ার

import json

tup = (1, 2, 3)
json_str = json.dumps(tup)
print(json_str)  # "[1, 2, 3]" - JSON অ্যারে

ইমিউটেবিলিটি প্রিজার্ভ করতে চাইলে

  1. Pickle (পাইথন-স্পেসিফিক, .pkl ফাইল, ওয়েবের জন্য উপযোগী নয়)
  2. কাস্টম এনকোডার/ডিকোডার লিখুন — টাপল এবং লিস্ট ডিফারেনশিয়েট করতে

কাস্টম এনকোডার উদাহরণ

import json

class TupleEncoder(json.JSONEncoder):
    def encode(self, obj):
        if isinstance(obj, tuple):
            return '{"__tuple__": true, "items": ' + json.dumps(list(obj)) + '}'
        return super().encode(obj)

def tuple_decoder(dct):
    if '__tuple__' in dct:
        return tuple(dct['items'])
    return dct

# ব্যবহার
tup = (1, 2, 3)
encoded = json.dumps(tup, cls=TupleEncoder)
decoded = json.loads(encoded, object_hook=tuple_decoder)
print(type(decoded), decoded)  #  (1, 2, 3)

সেরা অনুশীলন: ক্রস-ল্যাঙ্গুয়েজ কমিউনিকেশনের জন্য JSON (লিস্ট আকারে), পাইথন-অনলি জন্য Pickle।

  1. পাইথন টাপল স্লাইসিং কীভাবে করবেন?

  2. পাইথন ডেটকে JSON ফরম্যাটে কনভার্ট কীভাবে করবেন?

  3. পাইথনে টাপলের ভিতরে টাপল ব্যবহার করার পদ্ধতি

  4. পাইথন ফাংশন থেকে টাপল রিটার্ন করার পদ্ধতি