کامپیوترهابرنامه نویسی

فرمت JSON: توضیحات، مثال

متغیرها، آرایه ها و اشیاء یک فرم آشنا و مناسب از نمایندگی داده ها هستند. معمولا داده ها را در زبان جاوا اسکریپت مرورگر توصیف می کند، که در زبان سرور PHP لازم نیست. فرمت JSON امکان تعمیم آنها را به یکی و تمرکز بر روی زبان برنامه نویسی فراهم می کند. در این مورد، داده ها به جفت تبدیل می شوند: "name = value". ارزش در هر یک از آنها همچنین می تواند مجموعه ای از چنین جفت ها باشد.

معمولا JSON را با اشیاء جاوا اسکریپت و اشیاء جاوا اسکریپت مرتبط می کند. از آنجا که JSON = Object Notation JavaScript فرمت جاوا است، کاملا توجیه شده است. در آخرین سالهای بخصوصی پویا تغییر زیادی کرده است. چه چیزی برای یک هدف خاص ایجاد شد، اغلب میوه های غیر منتظره را به ارمغان آورد یا افق های جدید را باز کرد.

تبادل داده: مرورگر - سرور

فن آوری AJAX تبدیل به سنتی شده است، به روز رسانی معمول از کل صفحه متوقف شده است محبوب است. یک بازدیدکننده هنگام باز کردن یک سایت، یک سری مبادلات اطلاعات جزئی را آغاز می کند، زمانی که یک یا چند صفحه دیگر فقط در محل مربوطه تغییر می کنند.

اعتقاد بر این است که ظهور JSON به دلیل استفاده از AJAX است، اما در واقع، آرایه های انجمنی جاوا اسکریپت و نماد شیء آن (نحو توصیف و استفاده از اشیاء) بسیار نزدیکتر از JSON نسبت به تبادل داده بین مرورگر و سرور هستند.

از آنجا که محتوای صفحات سایت های مدرن واقعا "عظیم" (volumetric) بوده است، پس کارایی قالب برای تبادل اطلاعات اهمیت ویژه ای به دست آورده است. نمی توان گفت که JSON تبدیل به نمایندگی داده های جدید شده است، اما این واقعیت که مدتهاست که عنصر نحو جاوا اسکریپت است، ضروری است.

استفاده از Cyrillic در نامگذاری متغیر یک پدیده بسیار غیرمنتظره (مزخرف) است، اما در آخرین نسخههای Chrome، Firefox و حتی در اینترنت اکسپلورر 11 کار میکند.

سیریلیک و JSON

البته، استفاده از این پدیده کاملا غیر منتظره ارزش ندارد، به یاد داشته باشید که به آسانی ارزش متغیرهای نوشته شده در حروف روسی، به کراکوزایبری تبدیل می شود: چه چیزی در مورد نامها، به ویژه خارجی ها، می گویند.

تردید است که ابتکار عمل در اسامی سیریلیک توسط محیط بیرونی مرورگر پشتیبانی می شود، که به طور مداوم به آن پرداخته است. اما این واقعیت مستلزم توجه ساده به این مسئله است که فرمت JSON توانایی نوشتن نام ها و ارزش هایی است که توسعه دهنده می خواهد. این مهم است، زیرا در هر وظیفه، توصیف ناحیه برنامه به دلیل نیاز به آن بسیار ساده است و خطایابی را کاهش می دهد.

مهم نیست که نوآوری نحوی JSON بر چه اساس است، مهم است که آن حق قانونی و یک فرصت واقعی برای مطابقت داشته باشد: «هر اسم = هر مقدار» است.

ما باید به زبان جاوا اسکریپت احترام بگذاریم: آنچه که توسط نحو ارائه شده، توسعه دهنده را ملزم نمی کند و چیزی را بر او تحمیل نمی کند. توسعه دهنده به طور آزادانه از نحو زبان برای شکل گیری مطلوب مدل داده و الگوریتم استفاده از آنها استفاده می کند.

پی اچ پی و JSON

با استفاده از داده ها در فرمت JSON، سرور (از طریق پی اچ پی به طور خاص) توانایی پردازش آنها را به عنوان است و بازگشت نتیجه را به مرورگر در فرمت مشابه منتقل می کند. آرایه منبع پی اچ پی:

  • $ CJSON = array ("a" => "alpha"، "b" => "beta"، "g" => "gamma").

تبدیل به JSON برای انتقال به مرورگر:

  • $ CJS = json_encode ($ cJSON ).

نتیجه:

  • {"A": "alpha"، "b": "beta"، "g": "gamma"}.

لانه نشان داده شده در عکس مجاز است.

در اینجا آرایه توسط یک عنصر جدید «در خود» با شاخص خودکار «0» اضافه شد و سپس با شاخص مشخص شده «z» اضافه شد.

تابع معکوس، json_decode ()، رشته JSON را به یک آرایه PHP تبدیل می کند. نتایج مشابهی با دستکاری توابع پی اچ پی به دست می آید: implode () و spode (). در برخی موارد این گزینه ترجیح داده می شود.

سطح تودرتو

عناصر می توانند به یکدیگر در قسمت مرورگر و در سمت سرور توزیع شوند. در عمل، فرمت JSON (توضیحات RFC 4627) به طور قابل توجهی بیش از 4 سطح تودرتو را فراهم می کند، اما نباید از این ویژگی استفاده کنید.

بهتر است هرگز فراتر از حد قابل قبول نبوده، این باعث می شود که کد قابل خواندن باشد، اشکال زدایی و درک دیگر توسعه دهندگان را ساده تر می کند.

JSON معمولا به ساختارهای داده ای که از XML ساده تر است، به طور همزمان توسط افراد و رایانه ها به کار می رود. این درست است که مقدار داده ها کوچک است و سطح لجستی که توسعهدهنده به صلاحدید انتخاب کرده است. در تمام موارد دیگر شمارش پرانتز و درک ساختار داده ها هر دو در سمت مرورگر و در سمت سرور دشوار است.

فایلهای JSON

استفاده از JSON در عمل اغلب محدود به یک خط کوتاه در دسترس نیست. هر ساختار داده همیشه عملی است. در این مورد، JSON می تواند به طور موثر در هر دو داده های کار واقعی (کارکنان شرکت) و برای اجرای داده های موقت (مخزن شیء).

کارکنان شرکتی و قالب JSON: مثال

معمولا یک رکورد از یک فرد نام خانوادگی، نام، تولد، سال تولد، تخصص، تحصیلات، ... و چند معنی ساده تر است. حتی در شرکت هایی که خواستار آن هستند، رکورد یک نفر از دوازده یا دو فیلد تجاوز نمی کند. این برای درک قابل دسترسی است و می تواند در یک خط پایگاه داده قرار گیرد.

اگر چند نفر در این شرکت وجود داشته باشند، این یک چیز است، اما اگر ده ها هزار نفر کاملا متفاوت باشند. شما می توانید از پایگاه داده استفاده کنید، اما ذخیره آن به عنوان یک فایل به نظر می رسد عملی تر و قابل دسترس تر برای استفاده است.

فرمت فایل JSON یک فایل متنی ساده است. مورد با لیست کارکنان، هر کجا که رفت شما همیشه می توانید آن را بخوانید. باز کردن و ویرایش نیز در هر ویرایشگر متن موجود است که عادت به اضافه کردن اطلاعات سرویس آن به محتوای فایل ندارد. به طور کلی، * .json متن خالص هر دو در داخل مرورگر و در داخل فایل است - یک رشته.

تصویر نشانگر حافظه پنهان شی که تصویر را تشکیل می دهد، یک نمونه است.

این نمونه ای از محتویات یک فایل تولید شده توسط یک سایت است که خدمات چاپ رنگی رنگی را بر روی لیوان ها و محصولات سرامیکی ارائه می دهد. به طور طبیعی، تصمیم گیری در مورد این که آیا شما چنین فرمت JSON را دارید یا نه، باز هم مشکل است. با این حال، در این موارد و موارد مشابه هیچ مشکلی با خواندن فایل وجود ندارد: PHP فایل را خواند، آنرا تجزیه می کند و آن را به مرورگر ارسال می کند. داده ها توسط بازدید کننده تغییر یافته به سرور بازگشته و ثبت می شوند.

در این مورد، فایل به عنوان یک متغیر عمل می کند که در خارج از کد ذخیره می شود. در صورت لزوم، متغیر یک مقدار از فایل دریافت می کند و اگر از طریق بازدید کننده در گفتگو ارائه شده توسط سایت تغییر یابد، تمام تغییرات به عنوان ثبت می شود. نیازی به خواندن و بررسی محتویات فایل وجود ندارد.

JSON اغلب برای ذخیره و استفاده از اطلاعات سرویس استفاده می شود - این یک لیست کارکنان نیست، لازم نیست که آن را توسط توسعه دهنده یا بازدید کننده سایت مشاهده کنید.

XML و JSON

"همه چیز زمان خود را" - دانش کلاسیک پذیرفته شده برای axiom حتی قبل از ظهور برنامه نویسی است. "هیچ چیز به نظر می رسد درست مثل آن است" - آن نیز قبل از یک فرد اولین برنامه قابل درک را در یک زبان مصنوعی نوشت.

فرمت های داده ها از نیاز واقعی ظاهر می شوند و بر اساس دانش به دست آمده است. HTML دارای مسیر خاص خود است، XML دارای جاده خاص خود است، و JSON شی گرا JavaScript است که به زبان های دیگر گسترش یافته است. مقایسه کردن یکی با دیگری بهترین چیز نیست. به هر شخصی.

XML به طور معجزه آسا با وظایف خود مقابله کند و به تاریخ برسد به وضوح نمی رود. و JSON حتی قبل از سال 2006 مورد استفاده قرار گرفت، فقط به این معنی نیست که هر توسعه دهنده، وظیفه خود را برای اعلام انواع مختلفی از ارائه داده های خود، در نظر نمی گیرد.

مواردی در عمل وجود دارد که برنامه های اساسی در BASIC نوشته شده اند که از JSON استفاده نمی کنند، اما به طور کامل جفت "name = value" را ذخیره می کنند و در زمان مناسب الگوریتم های لازم را در اختیار آنها قرار می دهند.

کاراکترهای خاص (""، "~"، ""، ...) و فرمت های داده

عادت به کار با آرایه های انجمنی و اشیاء جاوا اسکریپت، استفاده از JSON را طبیعی و راحت می کند. این واقعا یک قالب عالی است، اما توانایی تقسیم و ادغام، دستکاری رشته ها و آرایه ها، ریشه های عمیق تر دارد.

توابع پیوستگی / تقسیم زبان جاوا اسکریپت و منعکس کردن / منفجر شدن از زبان PHP باعث می شود که هر دو از فرمت های داده XML، JSON و نسخه خودتان راحت و کارآمد باشند. دومی اغلب مطلوب است و دو مورد برای استفاده عمومی ایده آل است. اگر انتقال اطلاعات به یکی دیگر از توسعه دهنده، سرور، فایل یا پایگاه داده باشد، XML و JSON بهتر نیست. با همه آنها کار می کنند، زیرا انتقال / دریافت اطلاعات به نظرات نیاز ندارد.

با استفاده از JSON در Android

خواندن و نوشتن داده ها در فرمت JSON در آندروید نه تنها هنجار چیزهاست، بلکه بسیاری از اشیاء که برای کار با این فرمت داده ها گرا هستند.

بسیاری از موفقیت های فوق العاده شبکه های اجتماعی با این واقعیت که اعضای و بازدیدکنندگان سایت های مرتبط (فیس بوک، LinkedIn، توییتر، ...) از مطالب منتشر شده در آن استفاده می کنند، ارتباط دارند.

در این مورد، فرمت JSON مورد استفاده قرار می گیرد. شاید این درست باشد، اما این مسئله طبیعت پدیداری شبکه های اجتماعی نیست، بلکه این واقعیت است که ارائه اطلاعات در قالب "name = value" برای برنامه نویسی و استفاده مناسب است. بر خلاف سخت و پیچیده "XML"، این واقعا فرمت بشر دوستانه است.

آرایه های انجمنی

معلوم شد متغیرها باید توضیح داده شوند (جاوا اسکریپت) یا حداقل ارزش اولیه (PHP) را مشخص کنید. در هر دو مورد متغیر می تواند نوع خود را به راحتی تغییر دهد. در صورت لزوم، زبان این تبدیل را به طور خودکار انجام می دهد.

اما چرا باید متغیر نیز اسم خود را تغییر، در زمان اجرای الگوریتم ظاهر نمی شود و زمانی که نیاز به آن ناپدید می شود، ناپدید می شود؟ آرایه های انجمنی اجازه می دهد تا این مشکل را حل کنند، اما بعد از استفاده از چنین متغیرهای نسبتا پویا، نام آرایه و ساختارهای مربوط به نحوی از مکان های کاربرد آنها پیروی می کنند.

به ویژه این شرایط به وضوح در پی اچ پی بیان شده است، اما این قابل تحمل است، با این حال، با نماد "$" در نام متغیر و ترکیب "$ this->" در داخل شیء تحمل می شود. برنامه ریزی همزمان در جاوا اسکریپت و پی اچ پی، در ابتدا واقعا شگفت انگیز است که چگونه همه چیز متفاوت است، اما بعد همه چیز خیلی آشنا و طبیعی است ...

آرایه انجمنی -> JSON

در این مثال، یک سند * .docx با استفاده از کتابخانه PHPOffice / PHPWord ایجاد شده است، و آرایه aProperties حاوی خواص این سند (نویسنده، شرکت، عنوان، رده، تاریخ ایجاد ...).

آرایه دوم حاوی اطلاعات در صفحه است:

  • جهت (چشم انداز یا متعارف)؛
  • اندازه های عمودی و افقی؛
  • قطره (زمینه در سمت چپ، از بالا، از پایین، در سمت راست)؛
  • سرصفحه و پاورقی

سند در سرور ایجاد شده است که در آن PHPOffice / PHPWord کتابخانه نصب شده است. این سایت ارزش های این آرایه ها را از طریق جاوا اسکریپت مدیریت می کند. نتیجه در فرمت JSON به سرور باز می گردد و در الگوریتم های پی اچ پی، در سازه های آن، یعنی در آرایه ها، استفاده می شود.

متغیرهای پویا

فرمت JSON مشکل مشکل متغیرهای پویا را حل می کند. در اینجا شما می توانید متغیرهای بدون تغییرات غیر ضروری سینتکس ایجاد، اصلاح و حذف کنید. به نظر می رسد خوب است و در جاوا اسکریپت استفاده می شود.

در این مثال، تابع GetOjInfo () نام و مقدار ارزش را از شی انتخاب می کند. ابتدا شی JSON رشته ای که به متغیر ojInfo اختصاص دارد دارای سه عنصر است: نام، سن و کار. کمی بعد، وضعیت متغیر اضافه می شود.

بعد از اولین بیانیه حذف، رشته ojInfo عنصر سن را بعد از حذف دوم، عنصر کار را از دست می دهد. فرض بر این است که این خط مجموعه ای از متغیرهایی است که معنای خاصی دارند، سپس با استفاده از JSON شما می توانید هر مجموعه ای از خارج از حوزه عملیاتی (نحو) توصیف و پردازش زبان جاوا اسکریپت را ایجاد، تغییر و حذف کنید.

فرمت JSON برای این گزینه محاسبه شد، اما امکان، عملی و راحت است.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fa.delachieve.com. Theme powered by WordPress.