JSON সম্পর্কে
JSON (জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন) হল একটি ফাইল ফরম্যাট এবং ডেটা স্টোরেজ স্ট্যান্ডার্ড যা ডেটা সংরক্ষণ এবং বিনিময় করতে কী-ভ্যালু জোড়া ব্যবহার করে। এটি সবচেয়ে বেশি ব্যবহৃত ডেটা এক্সচেঞ্জ ফরম্যাট, যা প্রায়ই RESTful API, লাইটওয়েট ডাটাবেস, কনফিগ ফাইল এবং অন্যান্য অফলাইন বা অনলাইন সফটওয়্যারে দেখা যায় যা ডেটা সংরক্ষণ, পুনরুদ্ধার এবং বিনিময় করতে হয়। বেশিরভাগ প্রোগ্রামিং ল্যাঙ্গুয়েজের মধ্যে রয়েছে ডিফল্টরূপে JSON ডেটা বিশ্লেষণ এবং লেখার জন্য লাইব্রেরি এবং JSON হল একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ অ্যাগনোস্টিক ডেটা ফরম্যাট। একটি JSON ফাইল বা পেলোডে সংরক্ষিত মানগুলিতে সাধারণত স্ট্রিং, সংখ্যা এবং সিরিয়ালাইজযোগ্য ডেটা টাইপ যেমন তালিকা (অ্যারে) থাকে।
JSON এবং পাইথন ডিকশনারি
পাইথনে JSON ডেটা লোড পদ্ধতি ব্যবহার করে অভিধান বস্তুতে রূপান্তরিত হয়। প্রায়শই দেখা যায় যে কিছু লোক জসন ডেটা এবং একটি পাইথন অভিধানকে সমান করে, কারণ তাদের উভয়কে সংজ্ঞায়িত করার বাক্য গঠন প্রায় একই। যাইহোক, জসন ডেটা একটি টেক্সট স্ট্রিং ছাড়া আর কিছুই নয় যা একটি কঠোর সিনট্যাক্সে গঠন করা হয় যখন একটি পাইথন অভিধান মেমরিতে সংরক্ষিত একটি ডেটা স্ট্রাকচার বস্তু। যদি আপনি একটি টেক্সট ফাইলে অভিধানের তথ্য সংরক্ষণ করতে চান বা অন্য অ-পাইথন প্রোগ্রামে পাঠাতে চান, তাহলে আপনাকে প্রথমে এটি একটি পাঠ্য স্ট্রিং (বাইট) এ রূপান্তর করতে হবে। এই ডাম্পড / কনভার্টেড টেক্সট স্ট্রিংটি JSON এর স্ট্যান্ডার্ড সিনট্যাক্সে সংজ্ঞায়িত করা হয়েছে এবং একটি পাইথন ডিকশনারিকে একটি জসন সামঞ্জস্যপূর্ণ স্ট্রিং -এ রূপান্তর করার প্রক্রিয়াকে সিরিয়ালাইজেশন বলা হয়।
পাইথনে JSON ডেটা পড়া এবং ডাম্প করা
JSON ডেটা সার্ভার আকারে একটি প্রতিক্রিয়া হিসাবে পুনরুদ্ধার করা যেতে পারে, ফাইল থেকে পড়া, URL ক্যোয়ারী প্যারামিটার থেকে কাটা ইত্যাদি। এই নিবন্ধটি মূলত স্থানীয়ভাবে সংরক্ষিত ফাইল থেকে জসন ডেটা পড়ার দিকে মনোনিবেশ করবে। ধরা যাক যে একটি test.json ফাইলে নিম্নলিখিত ডেটা রয়েছে:
{'কোডনাম': 'ইওন এরমিন', 'সংস্করণ': 'উবুন্টু 19.10'}
পাইথনে test.json ফাইলটি পড়তে, আপনি নীচের কোডটি ব্যবহার করতে পারেন:
আমদানিjson
সঙ্গে খোলা ('test.json') হিসাবেচ:
তথ্য=jsonবোঝা(চ)
ডাম্প=jsonডাম্প(তথ্য)
ছাপা (তথ্য)
ছাপা (টাইপ(তথ্য))
ছাপা (ডাম্প)
ছাপা (টাইপ(ডাম্প))
উপরের কোডের প্রথম লাইন json মডিউল আমদানি করে। পরবর্তী লাইনে, ওপেন সহ ফাইলের বিষয়বস্তু নিরাপদে পড়তে ব্যবহৃত হয়। ওপেন ব্লকের মধ্যে, ডাটা ভেরিয়েবলে ফাইলের বিষয়বস্তু পড়তে এবং সংরক্ষণ করতে json.load পদ্ধতি ব্যবহার করা হয়। আগের ধাপে লোড করা ডেটা json.dump পদ্ধতি ব্যবহার করে json স্ট্রিং -এ রূপান্তরিত হয়। উপরের কোডটি চালানো নিম্নলিখিত আউটপুট দেখাবে:
{'সাঙ্কেতিক নাম':'ইওন এরমিন', 'সংস্করণ':'উবুন্টু 19.10'}<শ্রেণী 'ডিক্ট'>
{'সাঙ্কেতিক নাম':'ইওন এরমিন', 'সংস্করণ':'উবুন্টু 19.10'}
<শ্রেণী 'str'>
উপরের আউটপুটে লক্ষ্য করুন যে json.load পদ্ধতি কাঁচা json ডেটা একটি পাইথন ডিকশনারিতে পড়ে যখন json.dumps পদ্ধতি একটি অভিধানকে একটি স্ট্রিংয়ে রূপান্তর করে যা JSON কাঠামোর সাথে সামঞ্জস্যপূর্ণ। একবার একটি JSON বস্তু একটি পাইথন অভিধান বস্তুতে রূপান্তরিত হয়ে গেলে, আপনি ডেটা পরিচালনা করতে অন্তর্নির্মিত পাইথন অভিধান পদ্ধতি ব্যবহার করতে পারেন। উপরের উদাহরণটি বেশ মৌলিক এবং JSON ডেটা বা নেস্টেড ভ্যালুতে অ্যারে অন্তর্ভুক্ত করে না। তবে পাইথনের মধ্যে, আপনি এই মানগুলি অন্য নেস্টেড অভিধান এবং তালিকাগুলির মতো পরিচালনা করতে পারেন।
সাজানো এবং সুন্দর মুদ্রণ JSON ডেটা
Json।
আমদানিjsonসঙ্গে খোলা ('test.json') হিসাবেচ:
তথ্য=jsonবোঝা(চ)
ডাম্প=jsonডাম্প(তথ্য,sort_keys=সত্য,ইন্ডেন্ট=4)
ছাপা (ডাম্প)
উপরের কোডটি নিম্নলিখিত আউটপুট দেখাবে:
{'কোডনাম': 'ইওন এরমিন',
'সংস্করণ': 'উবুন্টু 19.10'
}
ডেটা টাইপ রূপান্তর
নীচের তালিকাটি ব্যাখ্যা করে যে কিভাবে JSON মানগুলি পাইথন বস্তুতে রূপান্তরিত হয় এবং বিপরীতভাবে।
JSON | পাইথন |
স্ট্রিং | পৃ |
সংখ্যা | int বা float |
সত্য মিথ্যা | সত্য মিথ্যা |
খালি | কোনটিই নয় |
অ্যারে | তালিকা |
বস্তু | ডিক্ট |
Json.tool কমান্ড লাইন মডিউল
পাইথনে একটি চমৎকার কমান্ড লাইন ইউটিলিটি json.tool রয়েছে যা JSON স্ট্রিং এবং ফাইলগুলিকে যাচাই করতে এবং সুন্দর মুদ্রণের জন্য ব্যবহার করা যেতে পারে।
$ প্রতিধ্বনি'{' কোডনেম ':' ইওন এরমিন ',' সংস্করণ ':' উবুন্টু 19.10 '}'| python3 -m json।টুলউপরের কমান্ডটি চালানো আপনাকে নিম্নলিখিত আউটপুট দেখাবে:
{'কোডনাম': 'ইওন এরমিন',
'সংস্করণ': 'উবুন্টু 19.10'
}
আপনি JSON ফাইলের সাথে json.tool ব্যবহার করতে পারেন। আপনার পছন্দসই মানগুলির সাথে নীচের কমান্ডে in_file এবং out_file প্রতিস্থাপন করুন:
$ python3 -m json।টুলin_file আউট_ ফাইলসুন্দর মুদ্রণ, সাজানো এবং JSON ডেটা যাচাই করা ছাড়া, json.tool অন্য কিছু করে না। সুতরাং আপনি যদি কোনও JSON ডেটা ম্যানিপুলেট করতে চান তবে আপনাকে অন্তর্নির্মিত JSON মডিউল ব্যবহার করে আপনার নিজস্ব কাস্টম কোড লিখতে হবে।