آموزش json در پایتون

در آموزش json در پایتون، هدف رسیدن به این است که بتوانیم بفهمیم json چیه؟ در کجا میتوانیم ازش استفاده کنیم؟ چه نوع داده ای است و ….
کلمه json (Javascript object notation) به معنی نشانه گذاری اشیا در جاوا اسکریپت است که برای تبادل داده در وب بکار میرود . json برای ارسال و دریافت غیر همزمان داده ها عالی است زیرا استفاده از آن آسان، سبک و کم حجم است. شما در این مقاله یاد میگیرید چطور با json میتوانیم اشیاء موجود در پایتون را به متنی قابل خواندن به انسانها نمایش دهیم. چگونه با ماژول داخلی json کار کنید تا دادههای برنامههای خود را در قالب json نمایش دهید.
یک دوستی چند روز پیش ازم سوال پرسید که منو وادار کرد برم تو گوگل سرچی کنم تا بتونم بهتر این دوست عزیز و راهنمایی کنم. سوال دوستم: دادههایی را از اینترنت برداشتم که تو فرمتی ذخیره شده که نمیفهمم چیه؟ میتونم این فایل و برات بفرستم توضیحی در موردش بهم بدی؟ ناگفته نماند رشته این دوستمون غیر مرتبط با کامپیوتر بود که فقط در حد سرچ در گوگل اطلاعات داشت برای پروژهی دانشگاهیش به مجموعه ای از داده ها نیاز داشت که هدفش استخراج دادههایی از دل سایتها بود.
در این میان حرفهایی در دلم رد و بدل شد: وای خدایا یعنی از من چی میخواد نکنه چیزی بخواد که نفهمم آبروی چندین ساله من بره بگه که پس این همه سال درس خوندی به خودت میگی مهندس آخرش این….. خب دل و به دریا زدیم و گفتیم در خدمتیم.به نظر شما این دوستمون چه نوع فایلی از اینترنت برداشته بود؟
از عنوان تقلب کردیا نه؟؟؟؟ اشکال نداره این نشون از زرنگیته، با توجه به سرچی که در گوگل انجام دادم یعنی میدونستما خواستم یکم کلاس بزارم از کلمات قلمبه سلمبه استفاده کنم برای دوستم تا ابهت نرم افزار و ببرم بالا ولی دیدم نه تو نت مطالب ساده انقدر سنگین توضیح داده شده که خود منم گیج میکنه پس تصمیم گرفتم به زبان خودمونی این مطالب را با شما دوستان لرن پایتونی به اشتراک بزارم تا بهتر متوجه بشیم.
Json چیست؟
در آموزش json در پایتون ابتدا باید معنی کلمه رو بدونیم که بصورت کامل (Javascript object notation) است حالا اگر بخواهیم بفهمیم معنی این کلمه چیه در حالت مرسوم باید بریم معنی انگلیسیشو ترجمه کنیم ولی یه نصیحت دوستانه هیچ وقت کلمات انگلیسی به فارسی رو ترجمه نکنید چون مفهوم اصلی رو نمیرسونند پس ما بجای ترجمه کلمه json بریم ببینیم اصلا کارش چیه؟ تا براساس کاراییاش بهش معنا بدیم چطوره به نظرتون؟
Json برای تبادل داده به کار می رود که برای کامپیوتر و ما انسانها قابل فهمتر باشد فرمت json بصورت متنی است. وقتی ما درخواستی به وب ارسال میکنیم وب هم در پاسخ دادهها را با فرمت json به ما پس میدهد برای کسانی که با جاوااسکریپت کار کردند این موضوع بهتر درک میشود زیرا json با اشیا(object) سرو کار دارد.
مثالی برای json :
در این بخش آموزش json در پایتون برای فهم بیشتر مطلب با یه مثال شروع کنیم که ببینیم این آقای json کیه؟ میخواهیم یک فایلی ایجاد کنیم که اطلاعات دانش آموزان را داخلش بنویسیم تو این مثال دقت کنید که خودمون میخواهیم یک فایل json ایجاد کنیم فعلا کاری با وب نداریم.
در قدم اول باید یک object بسازیم که اسمش students باشه حالا داخل object با استفاده از {} اطلاعات بچه ها رو وارد میکنیم.سپس کلید، مقدار را نوشته آنگاه داده ها را با علامت کاما (,) از هم جدا میکنیم و همچنین برای نوشتن لیست داخل object باید از این علامت [] استفاده کنیم. همانند زیر:

بریم که مثال بالا رو براتون توضیح بدم:
ابتدا یک object با نام students ایجاد کردیم سپس داخل {} شی خود را نوشتیم در json ابتدا کلید نوشته میشود سپس مقدار مربوط به کلید، فقط باید دقت داشته باشید که هم کلید و هم مقدار داخل دابل کوتیشن”” نوشته شود و بین کلید و مقدار علامت (:) میگذاریم سپس کاما گذاشته میرویم خط بعدی برای نوشتن مشخصات یا ویژگیهای شی students به همین ترتیب روند ادامه خواهد داشت.
با توجه به مثال بالا برای “id”:1 که تمام ویژگی ها را نوشتیم در اینصورت برای “id”:2 باید یک کاما گذاشته بعد به ترتیب مشخصات را وارد کنیم و به یک نکته دیگر دقت داشته باشید که در فایل json آخرین خط کاما ندارد.
json در پایتون:
در آموزش json در پایتون بخش بالا برای آشنایی شما با آقای json بود که بدونید چه نوع شخصیتی داره چه نوع ویژگیهایی میتونه داشته باشه و… اما در این بخش که خیلی بخش مهمی هست میرسیم به بخشی که بتوانیم در پایتون از این نوع فایل داده ها استفاده کنیم چجوری این فایلها رو بخونیم یا بنویسم حاضری بریم سراغ زبان برنامه نویسی شیرین پایتون؟ وای عاشق اسمشم “python” چه ابهتی به به….
با json میتوانیم اشیاء موجود در پایتون را به متنی قابل خواندن به انسانها نمایش دهیم. شما در این بخش یاد میگیرید چگونه با ماژول داخلی پایتون json کار کنید تا دادههای برنامههای خود را در قالب json نمایش دهید.
Json خیلی شبیه به دیکشنری در پایتون هست و تقریبا میشه گفت ساختار یکسانی دارند. ابتدا قبل از هرچیزی در مورد متدهای json در پایتون آشنا بشیم بعد بریم سراغ مثال عملی.
متدهای داخلی json:
Dumps(): تبدیل دیکشنری پایتون به رشته json
Dump():اگر s در آخر نباشد مربوط به فایل می شود.
Loads(): تبدیل رشته json به فرمت قابل فهم پایتون (دیکشنری)
Load():اگر s در آخر نباشد مربوط به فایل می شود.
مثال آموزش json
برای اینکه بتوانیم json را در پایتون استفاده کنیم اولین قدم مثل همیشه ایمپورت کردن json است.همانند زیر:

فایل json ذخیره شده در مثال بالا را میخواهیم اینجا با پایتون خان بنویسیم بریم ببینیم جناب پایتون چیکار میکنه.

طبق کد بالا دومین قدم انتخاب متد json میباشد ما ابتدا باید دیکشنری نوشته شده را به رشته json تبدیل کنیم یعنی یک دیکشنری my_dict داریم با استفاده از متد ()dumps آن را به فایل json تبدیل کرده سپس یک فایلی با نام mydata ایجاد میکنیم تا اطلاعات را با فرمت json ذخیره کند. الان در اینجا ما یک فایل با نام mydata داریم که اطلاعات ما داخلش قرار گرفته.
خب در قدم سوم میخواهیم فایل ایجاد شده را بخوانیم برای این کار باید با استفاده از () loads رشته json موجود در فایل را به دیکشنری تبدیل کنیم و با استفاده از پایتون آن را بخوانیم همانند کد زیر:

اینم از خروجی خواندن فایل مورد نظر که بصورت دیکشنری نمایش داده شده است:

جمع بندی:
خب دوست عزیز تونستیم در این مقاله توضیحاتی در مورد آموزش json در پایتون و کاربردش ارائه دهیم و با دو متد json (شامل : ()dumps(), loads)که کاربرد زیادی دارند و با مفهوم تبادل داده بین وب و ما انسانها آشنا شدیم امیدواریم که در این مسیر یادگیری لرن پایتون تونسته باشیم قدمی برای شما دوستان عزیز برداشته باشیم حتما به مقاله آموزش ساخت ربات اینستاگرام با پایتون هم نگاه کنید. منتظر نظرات و پیشنهاداتتون هستیم.
دیدگاهتان را بنویسید