Json.dumps এবং json.load এর মধ্যে পার্থক্য কী? [বন্ধ]


143

মধ্যে পার্থক্য কি json.dumpsএবং json.load?

আমার উপলব্ধি থেকে, একটি অভিধানে JSON লোড করে এবং অন্যটি বস্তুগুলিতে লোড করে।

উত্তর:


190

dumps একটি অবজেক্ট নেয় এবং একটি স্ট্রিং উত্পাদন করে:

>>> a = {'foo': 3}
>>> json.dumps(a)
'{"foo": 3}'

load কোনও ফাইলের মতো বস্তু গ্রহণ করবে, that অবজেক্ট থেকে ডেটা পড়বে এবং একটি স্ট্রিং ব্যবহার করে একটি বস্তু তৈরি করবে:

with open('file.json') as fh:
    a = json.load(fh)

লক্ষ্য করুন dumpএবং loadফাইল ও বস্তু, যখন মধ্যে রূপান্তর dumpsএবং loadsমধ্যে রূপান্তর স্ট্রিং এবং বস্তু। আপনি sফাংশনগুলির চারপাশে মোড়কবিহীন ফাংশনগুলি সম্পর্কে ভাবতে পারেন s:

def dump(obj, fh):
    fh.write(dumps(obj))

def load(fh):
    return loads(fh.read())

এটি আমার বোঝার জন্য খুব সহায়ক। তবুও আমি কিছুটা বিভ্রান্ত হয়ে পড়েছিলাম কারণ আমি ভেবেছিলাম পাইথনের সবকিছুই একটি বস্তু। স্ট্রিং নিজেই একটি বস্তু হতে হবে না? তখন কীভাবে আপনি দুজনের মধ্যে রূপান্তর করতে পারেন? নির্বোধ প্রশ্নের জন্য দুঃখিত।
বোভেন লিউ

আমি object"ব্যতীত অন্য ধরণের কিছু" অর্থে ব্যবহার করছি strপাইথন বস্তুটির মতো একটি স্ট্রিং '"foo"'ডিকোড করা হয় ; পাইথন তালিকার মতো একটি str'foo'"[1,2,3]"[1,2,3]
স্ট্রোক

dumps()- JSON অবজেক্টগুলিতে এনকোডিং dump()- ফাইলটিতে এনকোডেড স্ট্রিং রাইটিং loads()- JSON স্ট্রিংটি ডিকোড করুন - load()JSON ফাইলটি পড়ার সময় ডিকোড করুন
জামিল নইদা

74

json লোড -> একটি স্ট্রিং থেকে একটি জেসন অবজেক্টকে উপস্থাপন করে এমন একটি বস্তু প্রদান করে।

জসন ডাম্পস -> কোনও বস্তু থেকে একটি জসন বস্তুর প্রতিনিধিত্ব করে একটি স্ট্রিং প্রদান করে।

লোড এবং ডাম্প -> স্ট্রিংয়ের পরিবর্তে ফাইল থেকে / পড়ুন / পড়ুন


10
> জসন ডাম্পস -> ডিক থেকে কোনও জেসন অবজেক্টকে উপস্থাপন করে একটি স্ট্রিং প্রদান করে। এটি নিকটে, তবে আপনি json.dumps () এ পাস করে এমন একটি ডিক হওয়া উচিত নয়। আপনি একটি তালিকা, বা একটি স্ট্রিং, বা একটি বুলিয়ান পাস করতে পারেন ..
রস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.