تکنیکی مدد
عام JSON غلطیاں: ٹریلنگ کاما، اقتباس، اور Unexpected token
غلط JSON ٹھیک کریں: ٹریلنگ کاما، سنگل اقتباس، بغیر اقتباس کیز، اور Unexpected token۔ دیکھیں JSON.parse کیوں ناکام ہوتا ہے اور JSON کیسے جانچیں۔
زیادہ تر JSON غلطیاں سخت قواعد سے آتی ہیں: ٹریلنگ کاما، سنگل اقتباس، بغیر اقتباس پراپرٹی نام، گمشدہ کاما، بے جوڑ بریکٹ، غلط ایسکیپ، یا تبصرے۔
JSON جاوا اسکرپٹ آبجیکٹ جیسا لگتا ہے، مگر سخت تر ہے۔ پراپرٹی نام اور سٹرنگ کو ڈبل اقتباس چاہیے۔
اگر Unexpected token نظر آئے تو رپورٹ شدہ حرف وہ جگہ ہو سکتی ہے جہاں پارس رک گیا—ضروری نہیں کہ اصل غلطی وہیں شروع ہوئی ہو۔
آپ کا JSON invalid قرار دیا گیا۔ عموماً چھوٹا نحوی مسئلہ ہے، ٹوٹی فائل فارمیٹ نہیں۔ نیچے سات غلطیاں زیادہ تر Unexpected token پیدا کرتی ہیں۔
JSON اتنی آسانی سے کیوں ٹوٹتا ہے؟
JSON سخت نحو والا ڈیٹا فارمیٹ ہے۔ جاوا اسکرپٹ آبجیکٹ لٹرل ملتا جلتا لگ سکتا ہے اور پھر بھی invalid JSON ہو۔ معیاری JSON میں پراپرٹی نام اور سٹرنگ کو ڈبل اقتباس چاہیے، ٹریلنگ کاما منع ہے، اور تبصرہ فارمیٹ کا حصہ نہیں۔
1. ٹریلنگ کاماز
آخری پراپرٹی کے بعد اضافی کاما مسئلہ ہے۔ معیاری JSON اسے اجازت نہیں دیتا۔
غلط
{
"name": "Alex",
"age": 30,
}
درست
{
"name": "Alex",
"age": 30
}
وہی قاعدہ ارے پر لاگو ہے۔ آخری آئٹم کے بعد کاما ہٹائیں۔
غلط
[
"red",
"green",
]
درست
[
"red",
"green"
]
2. ڈبل کی جگہ سنگل اقتباس
جاوا اسکرپٹ اکثر سنگل اقتباس قبول کرتا ہے۔ JSON نہیں۔ پراپرٹی نام اور سٹرنگ ویلیو دونوں ڈبل اقتباس استعمال کریں۔
غلط
{
'name': 'Alex'
}
درست
{
"name": "Alex"
}
3. بغیر اقتباس پراپرٹی نام
جاوا اسکرپٹ میں کبھی name بغیر اقتباس لکھا جا سکتا ہے۔ JSON میں ہر پراپرٹی نام ڈبل اقتباس والی سٹرنگ ہونی چاہیے۔
غلط
{
name: "Alex",
age: 30
}
درست
{
"name": "Alex",
"age": 30
}
4. ویلیوز کے درمیان گمشدہ کاما
پراپرٹیز اور ارے آئٹمز کے درمیان کاما چاہیے۔ پارسر اگلے اقتباس یا بریس پر Unexpected token بتا سکتا ہے، گمشدہ کاما پر نہیں۔
غلط
{
"name": "Alex"
"age": 30
}
درست
{
"name": "Alex",
"age": 30
}
5. کم یا زیادہ بریکٹ اور بریس
آبجیکٹ { } استعمال کرتے ہیں۔ ارے [ ]۔ نیسٹڈ JSON اکثر تب ناکام ہوتا ہے جب ] گم ہو، } زیادہ ہو، یا دونوں بدل جائیں۔ کھلنے اور بند ہونے کے جوڑے گنیں۔
غلط
{
"items": [1, 2
}
درست
{
"items": [1, 2]
}
6. غلط ایسکیپ سلسلے
JSON سٹرنگ میں بیک سلیش ایسکیپ شروع کرتا ہے۔ " ، \ اور \n جیسے سلسلے درست ہیں۔ Windows پاتھ C:\Users لکھنا درست نہیں: \U قانونی JSON ایسکیپ نہیں۔ بیک سلیش دگنا کریں، ورنہ پارسر اسی حرف پر رک جاتا ہے۔
غلط
{"file":"C:\Users\Alex"}
درست
{"file":"C:\\Users\\Alex"}
7. JSON کے اندر تبصرے
معیاری JSON میں تبصرہ نہیں۔ کچھ کنفگ ٹولز // یا /* */ قبول کرتے ہیں (JSONC، JSON5 وغیرہ)۔ وہ معیاری JSON نہیں، اور JSON.parse اسے مسترد کرے گا۔
غلط
{
// user name
"name": "Alex"
}
Unexpected token کا مطلب کیا ہے؟
پارسر نے اس مقام پر غیر مجاز حرف دیکھا۔ رپورٹ شدہ جگہ وہ ہے جہاں پڑھنا رکا۔ اگر پہلے کاما چھوٹ گیا تو غلطی اگلی پراپرٹی کے اقتباس کی طرف اشارہ کر سکتی ہے۔ الفاظ رن ٹائم کے مطابق بدلتے ہیں؛ ہر براؤزر ایک ہی جملہ نہیں چھاپے گا۔
Unexpected end of JSON input کا مطلب کیا ہے؟
ویلیو مکمل ہونے سے پہلے متن ختم ہو گیا۔ عام وجوہ: گمشدہ } یا ]، کٹا ان پٹ، خالی باڈی، یا کٹا API جواب۔ یہ ایک ہی بگ نہیں۔
JSON.parse() ناکام کیوں ہوتا ہے؟
JSON.parse() صرف درست JSON متن قبول کرتا ہے۔ یہ کامیاب ہے:
const text = '{"name":"Alex"}';
const data = JSON.parse(text);
یہ ناکام ہے، کیونکہ سنگل اقتباس JSON نہیں:
const text = "{'name':'Alex'}";
JSON.parse(text);
عین غلطی کا پیغام جاوا اسکرپٹ رن ٹائم پر منحصر ہے۔ پیغام کو اشارہ سمجھیں، پھر اس مقام کے قریب کاما، اقتباس اور بریکٹ دیکھیں۔
جاوا اسکرپٹ آبجیکٹ لٹرل { name: 'Alex' } جیسا لگ سکتا ہے۔ درست JSON { "name": "Alex" } جیسا ہونا چاہیے: ڈبل اقتباس والے نام اور سٹرنگ، بغیر ٹریلنگ کاما، بغیر تبصرہ۔
- JSON متن
- پارسر ٹوکن پڑھتا ہے
- درست ڈیٹا یا Unexpected token
JSON غلطی جلدی کیسے ڈھونڈیں
اس ترتیب سے کام کریں۔ پوری فائل دوبارہ لکھ کر شروع نہ کریں۔
- JSON کو ویلیڈیٹر سے گزاریں۔
- پہلی رپورٹ شدہ غلطی پڑھیں۔
- رپورٹ شدہ مقام سے ذرا پہلے دیکھیں۔
- کاما چیک کریں، خاص طور پر ٹریلنگ اور گمشدہ۔
- اقتباس چیک کریں: صرف ڈبل۔
- { } اور [ ] جوڑیں۔
- سٹرنگ میں بیک سلیش ایسکیپ چیک کریں۔
- سخت JSON چاہیے تو تبصرے ہٹائیں۔
عام اصلاحات کا فوری نقشہ:
| مسئلہ | اصلاح |
|---|---|
| ٹریلنگ کاما | آخری آئٹم کے بعد کاما مٹائیں۔ |
| سنگل اقتباس | نام اور سٹرنگ کے لیے ڈبل اقتباس استعمال کریں۔ |
| بغیر اقتباس کی | پراپرٹی نام کو ڈبل اقتباس میں لپیٹیں۔ |
| گمشدہ کاما | پراپرٹیز یا ارے آئٹمز کے درمیان کاما رکھیں۔ |
| گمشدہ بریکٹ | ہر { } اور [ ] جوڑا بند کریں۔ |
| غلط ایسکیپ | قانونی ایسکیپ استعمال کریں، یا پاتھ میں بیک سلیش دگنا کریں۔ |
| تبصرہ | معیاری JSON کے لیے // اور /* */ ہٹائیں۔ |
براؤزر میں JSON چیک اور فارمیٹ کریں
NEXNARA JSON فارمیٹ / Diff اس ڈیوائس پر JSON چیک کر سکتا ہے۔
آپ ویلیڈیٹ کر سکتے ہیں، 2 اسپیس، 4 اسپیس یا ٹیب سے خوبصورت کر سکتے ہیں، minify، دو دستاویز موازنہ (JSON Diff)، اور .json فائل کھول سکتے ہیں۔ پارس براؤزر میں JSON.parse استعمال کرتا ہے، eval نہیں۔
5 MB سے بڑی دستاویز سست لگ سکتی ہیں۔ 15 MB سے بڑا متن براؤزر میں پراسیس نہیں ہوتا، تاکہ صفحہ جواب دہ رہے۔
JSON کی پروسیسنگ خود آپ کے براؤزر میں ہوتی ہے۔ اس ٹول کے لیے متن NEXNARA سرور پر نہیں بھیجا جاتا۔ اشتہارات اور دیگر سائٹ فیچر اب بھی نیٹ ورک استعمال کرتے ہیں؛ وہ پروسیسنگ سے الگ ہے۔
غلط JSON چیک کرنا ہے؟ JSON فارمیٹ / Diff کھولیں اور متن چسپاں کریں۔
FAQ
میرا JSON Unexpected token کیوں کہتا ہے؟
پارسر نے اس جگہ غیر مجاز حرف دیکھا۔ اصل غلطی—اکثر گمشدہ کاما یا سنگل اقتباس—اس مقام سے ذرا پہلے ہو سکتی ہے۔
کیا JSON میں ٹریلنگ کاما جائز ہے؟
نہیں۔ معیاری JSON آخری پراپرٹی یا ارے آئٹم کے بعد کاما اجازت نہیں دیتا۔ جاوا اسکرپٹ آبجیکٹ لٹرل اکثر دیتا ہے۔
کیا JSON سنگل اقتباس استعمال کر سکتا ہے؟
نہیں۔ پراپرٹی نام اور سٹرنگ ڈبل اقتباس استعمال کریں۔
کیا JSON میں تبصرہ ہو سکتا ہے؟
معیاری JSON میں نہیں۔ کچھ ٹولز تبصرے والے JSONC یا JSON5 قبول کرتے ہیں؛ JSON.parse پھر بھی مسترد کرے گا۔
JSON.parse() ناکام کیوں ہوتا ہے؟
سٹرنگ درست JSON نہیں۔ عام وجوہ ٹریلنگ کاما، سنگل اقتباس، بغیر اقتباس کیز، تبصرے، یا کٹی ویلیو ہیں۔ عین پیغام رن ٹائم پر منحصر ہے۔
JSON درست ہے یا نہیں، کیسے چیک کروں؟
اسے JSON فارمیٹ / Diff جیسے ویلیڈیٹر میں چسپاں کریں، یا کنسول میں JSON.parse بلائیں۔ اگر پارس پھینکے تو متن درست JSON نہیں۔