اعتبارسنجی JSON
JSON را جایگذاری کنید تا با استاندارد سنجیده شود؛ اگر مشکلی باشد، پیام دقیق خطا و موقعیت آن را میبینید.
اعتبارسنجی آنلاین JSON
یک کامای سرگردان کافی است تا API درخواستی را رد کند یا فایل پیکربندی بارگذاری نشود، و خطایی که نمایش داده میشود همیشه کمکی نمیکند. جایگذاری سند در اعتبارسنج در یک ثانیه نشان میدهد JSON معتبر است یا نه، و اگر نیست، دقیقاً کجا خراب شده است.
این صفحه فرمتکننده JSON را باز میکند که با هر تغییر، سند را با تجزیهگر استاندارد مرورگر اعتبارسنجی میکند و اگر معتبر باشد، آن را فرمت میکند.
خطاهایی که اعتبارسنج بیشتر از همه پیدا میکند
| اشتباه | نامعتبر | معتبر |
|---|---|---|
| کامای انتهایی | {"a": 1,} | {"a": 1} |
| کوتیشن تکی | {'a': 'x'} | {"a": "x"} |
| کلید بدون کوتیشن | {a: 1} | {"a": 1} |
| کامای از قلم افتاده | {"a": 1 "b": 2} | {"a": 1, "b": 2} |
| کامنت | {"a": 1 // note} | کامنت را حذف کنید |
| خط جدید escapeنشده درون رشته | شکست خط درون "…" | "line 1\nline 2" |
| مقدارهای خاص | NaN، undefined | null یا یک عدد |
خواندن پیام خطا
مرورگرها خطاهای JSON را همراه با موقعیت گزارش میکنند؛ برای مثال «Expected double-quoted property name in JSON at position 12»، یعنی در موقعیت ۱۲ نام ویژگی با کوتیشن دوتایی انتظار میرفت. شمارش موقعیت از صفر شروع میشود، پس به نویسهای اشاره میکند که تجزیهگر در آن متوقف شده است. اشتباه واقعی معمولاً درست پیش از آن است: کامای قبل از آکولاد بسته، یا کوتیشنی که باید دوتایی میبود.
معتبر بودن به معنای درست بودن نیست
اعتبارسنج سینتکس را بررسی میکند، نه معنا را. JSONی با کلید غلط املایی، عددی که به شکل رشته فرستاده شده یا فیلد الزامیای که وجود ندارد، همچنان JSON معتبر است. برای بررسی ساختار، در کد یا CI خود از یک اعتبارسنج JSON Schema استفاده کنید. کلیدهای تکراری را هم در نظر داشته باشید: از نظر فنی مجازند، اما بیشتر تجزیهگرها بیصدا فقط آخرین مورد را نگه میدارند.
اعتبارسنجی در کد
- JavaScript:
JSON.parse(text)درونtry/catch - Python:
json.loads(text)، یاpython -m json.tool file.jsonدر خط فرمان - jq:
jq empty file.jsonاگر فایل معتبر باشد چیزی چاپ نمیکند - PHP:
json_validate($text)از PHP 8.3 به بعد
وقتی JSON معتبر شد، فشردهسازی JSON فاصلههای اضافه را برای انتقال حذف میکند.