از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
تبدیل JSON به دیکشنری در پایتون
سرفصلهای مطلب
معرفی
در دنیای توسعه نرم افزار، تبادل داده بین سیستم های مختلف یک کار رایج است. یکی از فرمت های محبوب برای تبادل داده JSON (جاوا اسکریپت Object Notation) است که فرمتی سبک وزن و خوانا برای نمایش داده ها است. در پایتون، داده های JSON را می توان به راحتی به اشیاء فرهنگ لغت تبدیل کرد و بالعکس. در این مقاله به بررسی آن می پردازیم process تبدیل بین JSON و دیکشنری ها در پایتون، و نمونه هایی از روش انجام کارآمد آن را ارائه دهید.
لغت نامه ها
در پایتون، دیکشنری یک ساختار داده قابل تغییر است که جفت های کلید-مقدار را ذخیره می کند. هر کلید در یک فرهنگ لغت به مقدار خاصی نگاشت می شود و کلیدها باید منحصر به فرد باشند. دیکشنری ها راه بسیار مناسبی برای ذخیره و بازیابی داده ها هستند، زیرا امکان جستجوی سریع و پشتیبانی از انواع عملیات مانند افزودن، به روز رسانی و حذف عناصر را فراهم می کنند.
برای ایجاد دیکشنری در پایتون، جفت های کلید-مقدار را در پرانتزهای فرفری قرار می دهیم و با کاما از هم جدا می کنیم. به عنوان مثال، کد زیر یک فرهنگ لغت ایجاد می کند که حاوی لیستی از افراد است:
dict_example = {'people':({'name': 'Cassia', 'website': 'rasanegar.com', 'country': 'Brazil'})}
برای تعیین نوع متغیر در پایتون می توانیم از type()
تابع. به عنوان مثال، کد زیر خواهد بود print نوع dict_example
متغیر:
print(type(dict_example))
این خروجی خواهد شد <class 'dict'>
، که به ما می گوید dict_example
یک فرهنگ لغت است.
JSON و دیکشنری ها از نظر ساختار بسیار مشابه هستند، زیرا هر دو از جفت های کلید-مقدار برای نمایش داده ها استفاده می کنند. تفاوت اصلی این است که JSON یک فرمت مبتنی بر متن است که بیشتر برای تبادل داده بین سیستم های مختلف استفاده می شود، چه از طریق یک API RESTful یا ذخیره داده ها در فایل ها. لغت نامه ها، روی از طرف دیگر، یک نوع داده در پایتون هستند که برای ذخیره و دستکاری داده ها در کد شما استفاده می شوند. صرف نظر از تفاوت آنها، از آنجایی که دیکشنری های JSON و Python ساختار مشابهی دارند، تبدیل بین آنها با استفاده از توابع داخلی Python آسان است.
JSON
JSON یک فرمت محبوب برای تبادل داده است. این برای انسان قابل خواندن است و از مجموعه ای از جفت های کلید-مقدار، شبیه به دیکشنری های پایتون تشکیل شده است. در پایتون می توانیم از json
کتابخانه ای برای کار با داده های JSON که در این مقاله خواهیم دید.
دادههای خام JSON صرفاً یک رشته است که دارای قالب ثابتی است که میتواند توسط هر زبانی تجزیه شود. به عنوان مثال، در اینجا یک رشته خام JSON است که اطلاعاتی را در مورد من نشان می دهد:
'{"name": "Cassia", "website": "rasanegar.com", "country": "Brazil"}'
در حالی که دیکشنری های JSON و Python ساختار مشابهی دارند، تفاوت هایی بین این دو وجود دارد. به عنوان مثال، در JSON، همه کلیدها باید رشتههایی باشند که در گیومههای دوتایی محصور شدهاند، در حالی که در دیکشنریهای پایتون، کلیدها میتوانند هر نوع تغییرناپذیری باشند. علاوه بر این، JSON فقط اجازه استفاده از انواع داده های ساده مانند رشته ها، اعداد و بولی ها را می دهد، در حالی که دیکشنری های پایتون می توانند هر نوع داده معتبر پایتون را داشته باشند.
تبدیل JSON به دیکشنری
تبدیل JSON به دیکشنری پایتون یک کار رایج است، به ویژه هنگام کار با APIهای خارجی یا منابع داده. با تبدیل دادههای JSON به دیکشنری پایتون، میتوانیم دادهها را با استفاده از کتابخانههای داخلی پایتون دستکاری کنیم و کار با آن را آسانتر کنیم. در غیر این صورت شما فقط یک رشته خام خواهید داشت که خواندن و تغییر آن بسیار دشوار است، حتی اگر ساختار یافته باشد. از این رو نیاز به تجزیه کننده های JSON است.
برای تبدیل داده ها می توانیم از json.loads()
روش تبدیل رشته خام JSON به دیکشنری پایتون. در اینجا یک مثال ساده با استفاده از همان داده های بالا آورده شده است:
import json
json_string = '{"name": "Cassia", "website": "rasanegar.com", "country": "Brazil"}'
dictionary = json.loads(json_string)
print(dictionary)
خروجی:
{'name': 'Cassia', 'website': 'rasanegar.com', 'country': 'Brazil'}
در این مثال ابتدا ما import را json
کتابخانه سپس یک رشته JSON خام ایجاد می کنیم و از آن استفاده می کنیم json.loads()
روش تبدیل آن به دیکشنری بالاخره ما print فرهنگ لغت حاصل
توجه به این نکته مهم است که هنگام کار با دادههای JSON، در صورتی که JSON به درستی قالببندی نشده باشد، تقریباً همیشه باید خطاها را مدیریت کنید. در غیر این صورت json.loads()
روش الف را بالا خواهد برد JSONDecodeError
استثنا.
در اینجا مثال دیگری وجود دارد که در آن داده های JSON را از یک فایل بارگیری می کنیم:
import json
with open('data.json', 'r') as f:
json_data = f.read()
dictionary = json.loads(json_data)
print(dictionary)
در این مثال از برنامه داخلی پایتون استفاده می کنیم open()
روش خواندن داده های JSON از یک فایل سپس از json.loads()
روش تبدیل داده های JSON به یک فرهنگ لغت، که ما سپس print به console برای تایید.
تبدیل دیکشنری ها به JSON
همانطور که ممکن است حدس بزنید، تبدیل دیکشنری پایتون به JSON است همچنین یک وظیفه رایج در توسعه نرم افزار، به ویژه در هنگام کار با داده هایی که باید انجام شود ارسال شد به سیستم های خارجی یا API ها. با تبدیل دیکشنری به JSON، به راحتی میتوانیم دادهها را سریالسازی کنیم و آنها را در پلتفرمهای مختلف انتقال دهیم. این کار زمانی انجام میشود که دادهها باید منتقل شوند و مانند یک فرهنگ لغت، دستکاری نشوند.
برای انجام این کار در پایتون، می توانیم از json.dumps()
روش تبدیل دیکشنری به فرمت JSON:
import json
dictionary = {'name': 'Cassia', 'website': 'rasanegar.com', 'country': 'Brazil'}
json_data = json.dumps(dictionary)
print(json_data)
خروجی:
{"name": "Cassia", "website": "rasanegar.com", "country": "Brazil"}
در این مثال ابتدا ما import را json
کتابخانه ما برای مثال خود یک دیکشنری پایتون ایجاد می کنیم و از آن استفاده می کنیم json.dumps()
روش تبدیل آن به رشته JSON. بالاخره ما print داده های JSON حاصل را برای مشاهده خروجی dumps()
. ممکن است متوجه شوید که آنقدرها هم متفاوت به نظر نمی رسد، اما در این قالب به جای یک شی پایتون، یک رشته خام است.
مهم است که توجه داشته باشید که داده های JSON حاصل ممکن است نه ترتیب اصلی کلیدها را در فرهنگ لغت حفظ کنید. با این حال، این معمولاً یک مشکل نیست، زیرا دادههای JSON معمولاً با استفاده از کلیدها قابل دسترسی هستند نه با موقعیت.
در اینجا مثال دیگری از یک مورد معمول است که در آن یک فرهنگ لغت را در یک فایل با فرمت JSON ذخیره می کنیم:
import json
dictionary = {'name': 'Cassia', 'website': 'rasanegar.com', 'country': 'Brazil'}
with open('data.json', 'w') as f:
json.dump(dictionary, f)
در این مثال از برنامه داخلی پایتون استفاده می کنیم open()
روشی برای نوشتن دیکشنری روی فایل با فرمت JSON. ما استفاده می کنیم json.dump()
روش تبدیل دیکشنری به JSON و نوشتن آن در فایل.
نتیجه
در پایان، تبدیل JSON به دیکشنری در پایتون یک عملیات رایج است که توسعه دهندگان باید هنگام کار با داده های JSON انجام دهند و بالعکس. پایتون پشتیبانی داخلی را برای کدگذاری ساختارهای داده پایتون به JSON و همچنین برای رمزگشایی دادههای JSON در اشیاء پایتون فراهم میکند و تبدیل بین دو فرمت را آسان میکند.
در این مقاله به اصول تبدیل JSON به دیکشنری در پایتون و بالعکس پرداخته ایم. ما روش استفاده از داخلی پایتون را بررسی کرده ایم json
مدول. همچنین چندین کتابخانه شخص ثالث در دسترس هستند که ویژگیهای پیشرفتهتر و گزینههای سفارشیسازی را برای مدیریت دادههای JSON در پایتون ارائه میدهند که ما آنها را پوشش ندادهایم، مانند simplejson
و ujson
.
مهم است به خاطر داشته باشید که هنگام تبدیل بین JSON و دیکشنری ها، اطمینان از فرمت صحیح داده ها و مطابقت انواع داده ها ضروری است. روی هر دو طرف. با پیروی از بهترین شیوهها و استفاده از ابزارهای مناسب، توسعهدهندگان میتوانند به طور موثر با دادههای JSON در پایتون کار کنند و به آنها اجازه میدهد تا برنامههای وب قوی و کارآمد بسازند.
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-01 20:36:02