فرمت JSON: ایجاد داده، استفاده با PHP و JS. JSON برای مبتدیان، با استفاده از داده های javascript و jQuery Json از طریق یک فرم معمولی

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

مرسوم است که JSON را با پرانتزهای فرفری مرتبط کنیم و دومی کاملاً موجه است، زیرا فرمت JSON = نشانه گذاری شی جاوا اسکریپت. در سال های اخیر به خصوص پویا تغییرات زیادی کرده است. آنچه برای یک هدف خاص ایجاد شده است اغلب نتایج غیرمنتظره ای به همراه می آورد یا افق های جدیدی را باز می کند.

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

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

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

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

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

سیریلیک و JSON

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

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

مهم نیست که اساس نوآوری نحوی - JSON - دقیقاً چه بوده است، مهم این است که حق قانونی و فرصت واقعی برای تنظیم متناظر را می دهد: "هر نام = هر ارزش".

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

PHP و JSON

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

  • $cJSON = آرایه ("a"=> "alfa"، "b"=> "بتا"، "g"=> "گاما").

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

  • $cJS = json_encode ($cJSON).

نتیجه:

  • ("a":"alfa"، "b":"بتا"، "g": "گاما").

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

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

Json_decode() یک رشته JSON را به یک آرایه PHP تبدیل می کند. نتایج مشابهی را می توان با دستکاری توابع و explode() به دست آورد. در برخی موارد این گزینه ارجح است.

سطح تودرتو

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

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

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

فایل های JSON

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

کارکنان سازمانی و فرمت JSON: مثال

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

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

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

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

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

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

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

XML و JSON

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

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

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

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

کاراکترهای خاص («`»، «~»، «|»، ...) و قالب‌های داده

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

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

استفاده از JSON در اندروید

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

در این حالت از فرمت JSON استفاده می شود. این ممکن است درست باشد، اما سؤال پدیده‌ای بودن شبکه‌های اجتماعی نیست، بلکه این واقعیت است که ارائه اطلاعات در قالب "نام = ارزش" واقعاً هم برای برنامه‌نویسی و هم برای استفاده راحت است. برخلاف "XML" سخت و پیچیده، این واقعا یک قالب انسان پسند است.

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

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

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

این شرایط مخصوصاً در PHP تلفظ می‌شود، اما می‌توانید با آن کنار بیایید، مانند نماد «$» در نام متغیر و ترکیب «$this->» در داخل شی. برنامه نویسی همزمان به زبان جاوا اسکریپت و پی اچ پی، ابتدا واقعاً از تفاوت همه چیز شگفت زده می شوید، اما بعد همه چیز بسیار آشنا و طبیعی می شود...

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

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

آرایه دوم حاوی داده هایی برای صفحه است:

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

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

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

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

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

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

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

جاوا اسکریپت به ما این امکان را می دهد که نه تنها تعاملی را به صفحات وب اضافه کنیم، بلکه انجام وظایفی را که زمانی بر عهده سرورها بود، ممکن می سازد. JSON یک راه آسان برای ایجاد و ذخیره داده های ساخت یافته در جاوا اسکریپت ارائه می دهد. JSON بسیار محبوب است و یک جایگزین عالی برای XML است. JSON (JavaScript Object Notation)، همانطور که از نام آن پیداست، بر اساس ایجاد اشیاء جاوا اسکریپت است. اشیاء جاوا اسکریپت را می توان به راحتی با استفاده از همان جاوا اسکریپت دستکاری و تجزیه کرد.

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

var data=( "firstName" : "Ray"); هشدار(data.firstName);

ابتدا یک متغیر برای نگهداری داده ها ایجاد می کنیم و سپس از JSON برای تعریف یک شی استفاده می کنیم. شی ما بسیار ساده است: یک فیلد firstName و یک مقدار Ray. رشته ها در JSON باید در گیومه قرار بگیرند. اگر از اعداد استفاده می کنید، نقل قول ها اختیاری هستند.

این مثال مقدار خاصیت firstName را در مرورگر نمایش می دهد.

ایجاد یک شیء نگهدارنده مکان

بیایید یک مثال واقعی‌تر ایجاد کنیم: داده‌های JSON خود را در یک شی DOM وارد کنیم.

var data=("firstName":"Ray"); document.getElementById("placeholder").innerHTML=data.firstName;

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

data=( "firstName":"Ray", "lastName":"Villalobos", "joined":2012 ); document.getElementById("placeholder").innerHTML=data.firstName+" "+data.lastName+" "+data.joined;

توجه داشته باشید که داده های JSON به روشی خاص برای درک بهتر قالب بندی شده اند. فیلد "joined" دارای مقدار 2012 است که نیازی به نقل قول ندارد زیرا یک عدد است. بیایید به چیز پیچیده تر نگاه کنیم.

اضافه کردن آرایه ها

اگر بخواهیم وارد گروهی از افراد شویم چه می‌شود... پس باید از آرایه‌ها استفاده کنیم. یک آرایه در JSON را می توان با استفاده از براکت مربع ایجاد کرد. بیایید ببینیم که داده های ما برای چندین کاربر چگونه خواهد بود.

Var data=("users":[ ( "firstName":"Ray", "lastName":"Villalobos", "joined":2012 ), ( "firstName":"John", "LastName":"Jones", "joined":2010 ) ]) document.getElementById("placeholder").innerHTML=data.users.firstName + " " + data.users.lastName+" "+ data.users.joined;

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

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

Var data=("users":[ ( "firstName":"Ray", "lastName":"Villalobos", "joined": ( "month":"January", "day":12, "year":2012 ) ), ( "firstName":"John"، "lastName":"Jones"، "joined": ( "month":"April"، "day":28، "year":2010 )) ]) سند. getElementById("placeholder").innerHTML=data.users.firstName + " " + data.users.lastName+"--"+ data.users.joined.month;

ویژگی joined اکنون حاوی یک شی با چندین فیلد است. نیازی به استفاده از آرایه نیست، بنابراین از نشانه گذاری شی استفاده می کنیم. اکنون ما داده هایی برای چندین کاربر داریم، وقت آن است که هر کاربر را مرور کنیم و آنها را در لیست نمایش دهیم.

پیاده سازی لیستی از کاربران (در حال عبور از شی JSON)

بنابراین، بیایید از جاوا اسکریپت استفاده کنیم و لیستی از کاربران ایجاد کنیم.

Var data = ( "users":[ ( "firstName":"Ray", "lastName":"Villalobos", "joined": ( "month":"January", "day":12, "year":2012 ) ), ( "firstName":"John", "lastName":"Jones"، "joined": ( "month":"April"، "day":28، "year":2010 ) ) ]) خروجی var ="

    "; ) خروجی +="
"; document.getElementById("placeholder").innerHTML=output;

برای تکرار در تمام خصوصیات یک شی، یک for..در ساخت وجود دارد:

برای (کلید var در شی) ( // کلید - نام ویژگی // شی - مقدار ویژگی... )

در اینجا تمام عناصر آرایه را مرور می کنیم. داده ها را در متغیر خروجی ذخیره می کنیم و داده ها را در عنصری با شناسه برابر با مکان نگهدار قرار می دهیم. می توانید بگویید که داده های ما کمی کند ساخته می شوند.

خواندن JSON از یک فایل خارجی

خوب است که داده ها را در یک فایل خارجی ذخیره کنید و در صورت نیاز آن را بخوانید. من قصد دارم از کتابخانه jQuery استفاده کنم و بنابراین ابتدا باید کتابخانه jQuery را اضافه کنیم. سپس تابع getJSON را فراخوانی می کنیم. این چیزی است که کد ما به نظر می رسد:

نمونه JSON $.getJSON("data.json", function(data) ( var output="

    "; برای (var i در data.users) (output+="
  • " + data.users[i].firstName + " " + data.users[i].lastName + "--" + data.users[i].joined.month+"
  • "; ) خروجی +="
"; document.getElementById("placeholder").innerHTML=output; ));

این تقریباً همان کد است، اما داده ها آورده شده است. ما به سادگی همه چیز را با یک تابع getJSON جمع کردیم که تمام کارهای سخت خواندن فایل را انجام می دهد. فرض کنید فایل داده data.json در همان دایرکتوری قرار دارد و به شکل زیر است:

("users":[ ("firstName":"Ray"، "lastName":"Villalobos"، "joined": ( "month":"January"، "day":12، "year":2012) ) ( "firstName":"John", "lastName":"Jones"، "joined": ( "month":"April"، "day":28، "year":2010 ) ])

همانطور که می بینید، خواندن JSON واقعا آسان است و زمانی که به پرانتز عادت کنید، کدنویسی آن آسان می شود.

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

به عنوان مثال، در این شکل فایل my-file.json برجسته شده است، سپس باید روی این فایل کلیک راست کرده و در منوی فایل، گزینه scan with AVG را انتخاب کنید. با انتخاب این گزینه، AVG Antivirus باز می شود و فایل را از نظر ویروس اسکن می کند.


گاهی ممکن است این خطا در نتیجه نصب نادرست نرم افزار رخ دهد که ممکن است به دلیل بروز مشکل در هنگام نصب باشد. این ممکن است سیستم عامل شما را از مرتبط کردن فایل JSON با نرم افزار کاربردی صحیح جلوگیری کند و بر آنچه "تداعی های پسوند فایل" نامیده می شود تأثیر بگذارد.

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


نکته: سعی کنید موزیلا فایرفاکس را به آخرین نسخه به روز کنید تا مطمئن شوید که آخرین وصله ها و به روز رسانی ها را دارید.


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


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


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

این مشکل معمولاً با انواع فایل‌های رسانه‌ای مرتبط است که به باز کردن موفقیت‌آمیز سخت‌افزار در داخل رایانه مانند کارت صدا یا کارت ویدیو بستگی دارد. به عنوان مثال، اگر می خواهید یک فایل صوتی را باز کنید اما نمی توانید آن را باز کنید، ممکن است لازم باشد درایورهای کارت صدای خود را به روز کنید.


نکته: اگر هنگام تلاش برای باز کردن یک فایل JSON، پیام خطای مربوط به فایل SYS. این فرآیند را می توان با استفاده از نرم افزار به روز رسانی درایور مانند DriverDoc آسان تر کرد.


اگر این مراحل مشکل را حل نکرد و همچنان برای باز کردن فایل‌های JSON مشکل دارید، ممکن است به دلیل کمبود منابع سیستم در دسترس باشد. برخی از نسخه‌های فایل‌های JSON ممکن است به مقدار قابل توجهی از منابع (مانند حافظه/رم، قدرت پردازش) نیاز داشته باشند تا به درستی در رایانه شما باز شوند. اگر از سخت افزار کامپیوتر نسبتا قدیمی و در عین حال از یک سیستم عامل بسیار جدیدتر استفاده می کنید، این مشکل بسیار رایج است.

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


اگر تمام مراحل بالا را دنبال کرده اید و فایل JSON شما باز هم باز نمی شود، ممکن است نیاز به به روز رسانی سخت افزاری داشته باشید. در بیشتر موارد، حتی زمانی که از نسخه‌های قدیمی‌تر سخت‌افزار استفاده می‌کنید، قدرت پردازش همچنان می‌تواند برای اکثر برنامه‌های کاربر بیش از حد کافی باشد (مگر اینکه کارهای زیادی با CPU انجام دهید، مانند رندر سه بعدی، مدل‌سازی مالی/علمی، یا کار فشرده چند رسانه ای). بنابراین، این احتمال وجود دارد که رایانه شما حافظه کافی (که معمولاً "رم" یا حافظه دسترسی تصادفی نامیده می شود) برای تکمیل کار باز کردن یک فایل ندارد.

Json برای جاوا اسکریپت ایجاد شده است (نام کامل آن جاوا اسکریپت Object Notation است) و یک فرمت تبادل داده است.

Json کاربرد خود را در زبان های برنامه نویسی مختلف پیدا کرده است - به عنوان مثال، در PHP، جایی که به نظر می رسد:

["1":"زرد"؛ "2":"سبز"؛ "3":"خاکستری"]

مثال نشان می‌دهد که هیچ فاصله‌ای وجود ندارد و نام و مقدار در گیومه‌های دوتایی محصور شده‌اند. اگر طول اجازه دهد، رشته را می توان برای انتقال داده در متد GET استفاده کرد.

در این حالت آرایه ارسالی می تواند ساختاری چند سطحی داشته باشد. PHP دارای مجموعه ای از توابع json است که برای ایجاد و رمزگشایی چنین رشته هایی طراحی شده و منحصراً با UTF-8 کار می کند.

Json_encode در php این تابع یک شی، آرایه یا متغیر را به فرمت json تبدیل می کند. مثال زیر یک آرایه را به این فرمت تبدیل می کند. ?> Json_decode در php این تابع رشته دریافتی را رمزگشایی می کند و بسته به اینکه کدام گزینه انتخاب شده است یک شی یا یک آرایه دریافت می کنیم. این تابع دو پارامتر دارد - اجباری (رشته ای که باید رمزگشایی شود) و اختیاری (اگر آن را مشخص کنید، یک آرایه خروجی خواهد شد، اگر نه، یک شی). مثال زیر را در نظر بگیرید. دریافت داده از یک کلاس: دریافت داده از یک آرایه: Json_last_error در php

این تابع هیچ پارامتری ندارد. مقداری را برمی گرداند که علت خطاها را مشخص می کند.

  • JSON_ERROR_NONE - بدون خطا
  • JSON_ERROR_SYNTAX - خطای نحوی
  • JSON_ERROR_UTF8 - نویسه‌های UTF-8 نادرست، احتمالاً رمزگذاری نادرست
  • JSON_ERROR_DEPTH - به حداکثر عمق پشته رسیده است
  • JSON_ERROR_STATE_MISMATCH - JSON نامعتبر یا نادرست
  • JSON_ERROR_CTRL_CHAR - کنترل خطای کاراکتر، احتمالاً رمزگذاری نادرست

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

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

روش 1: Altova XMLSpy

یک محیط توسعه نسبتاً شناخته شده که توسط برنامه نویسان وب نیز استفاده می شود. این محیط همچنین فایل های JSON را تولید می کند و بنابراین می تواند اسناد شخص ثالث را با این پسوند باز کند.


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

روش 2: Notepad++

ویرایشگر متن چند منظوره Notepad++ اولین مورد در لیست اسکریپت های مناسب برای باز کردن فرمت JSON است.


Notepad++ مزایای زیادی دارد - سینتکس بسیاری از زبان های برنامه نویسی را نمایش می دهد، از پلاگین ها پشتیبانی می کند و حجم کمی دارد... با این حال، به دلیل برخی ویژگی ها، برنامه به کندی کار می کند، به خصوص اگر یک سند بزرگ را در آن باز کنید.

روش 3: AkelPad

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


مانند Notepad++، این گزینه notepad نیز رایگان است و از افزونه ها پشتیبانی می کند. سریعتر کار می کند، اما فایل های بزرگ و پیچیده ممکن است بار اول باز نشوند، بنابراین این ویژگی را در نظر داشته باشید.

روش 4: ویرایش کومودو

نرم افزار رایگان برای نوشتن کد برنامه از کومودو. این دارای یک رابط مدرن و پشتیبانی گسترده برای برنامه نویسان است.


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

روش 5: متن عالی

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


متأسفانه، Sublime Text به زبان روسی در دسترس نیست. مدل توزیع اشتراک افزار را می توان یک نقطه ضعف نیز نامید: نسخه رایگان به هیچ وجه محدود نیست، اما هر از گاهی یادآوری در مورد نیاز به خرید مجوز ظاهر می شود.

روش 6: NFOPad

یک دفترچه یادداشت ساده نیز برای مشاهده اسناد با پسوند JSON مناسب است.