تخنیکي مرسته
د JSON عامې تېروتنې: وروستی کاما، اقتباسونه او Unexpected token
ناسم JSON سم کړئ: وروستی کاما، یوازې اقتباس، بې اقتباسه کیلي او Unexpected token. ولې JSON.parse ناکامېږي او JSON څنګه وګورئ.
ډېری د JSON تېروتنې له سختو قواعدو راځي: وروستی کاما، یوازې اقتباس، بې اقتباسه د ځانګړتیا نومونه، ورک کاما، ناسازګار قوسونه، ناسم ایسکیپ یا تبصرې.
JSON د JavaScript شی ته ورته ښکاري، خو سخت دی. د ځانګړتیا نومونه او تارونه دوه ګونی اقتباس ته اړتیا لري.
که Unexpected token ووینئ، راپور شوی توری هغه ځای وي چې تجزیه ودرېده—نه حتمي هغه ځای چې اصلي تېروتنه پیل شوه.
ستاسو JSON ناسم نښه شوی. معمولا کوچنی نحوي ستونزه ده، نه مات شوی د فایل بڼه. لاندې اووه تېروتنې ډېری Unexpected token رامنځته کوي.
ولې JSON دومره اسانه ماتېږي؟
JSON د سخت نحو معلوماتو بڼه ده. د JavaScript شی لېټرل ورته ښکاري خو بیا هم ناسم JSON وي. په معياري JSON کې د ځانګړتیا نومونه او تارونه دوه ګونی اقتباس ته اړتیا لري، وروستی کاما اجازه نه لري، او تبصرې د بڼې برخه نه دي.
1. وروستي کاماګانې
د وروستۍ ځانګړتیا وروسته اضافي کاما ستونزه ده. معياري JSON یې اجازه نه ورکوي.
ناسم
{
"name": "Alex",
"age": 30,
}
سم
{
"name": "Alex",
"age": 30
}
همدا قاعده په اریو کې هم ده. د وروستي توکي وروسته کاما لرې کړئ.
ناسم
[
"red",
"green",
]
سم
[
"red",
"green"
]
2. د دوه ګوني پر ځای یوازې اقتباس
JavaScript ډېر ځله یوازې اقتباس مني. JSON نه مني. د ځانګړتیا نومونه او د تار ارزښتونه باید دوه ګونی اقتباس وکاروي.
ناسم
{
'name': 'Alex'
}
سم
{
"name": "Alex"
}
3. بې اقتباسه د ځانګړتیا نومونه
په JavaScript کې کله کله 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);
دقیق د تېروتنې پیغام د JavaScript اجرا وخت پورې اړه لري. پیغام د اشارې په توګه وګورئ، بیا د هغه موقعیت نږدې کاما، اقتباسونه او قوسونه وګورئ.
د JavaScript شی لېټرل ممکن { name: 'Alex' } ښکاري. سم JSON باید { "name": "Alex" } ښکاري: دوه ګونی اقتباس نومونه او تارونه، پرته له وروستي کاما، پرته له تبصرو.
- د JSON متن
- تجزیه کوونکی ټوکنونه لولي
- سم معلومات یا Unexpected token
د JSON تېروتنه څنګه ژر ومومئ
په دې ترتیب کار وکړئ. د ټول فایل له بیا لیکلو مه پیل کوئ.
- JSON د تایید کوونکي له لارې تېر کړئ.
- لومړۍ راپور شوې تېروتنه ولولئ.
- د راپور شوي موقعیت څخه لږ مخکې وګورئ.
- کاماګانې وګورئ، په ځانګړې توګه وروستي او ورک.
- اقتباسونه وګورئ: یوازې دوه ګونی.
- { } او [ ] سره برابر کړئ.
- په تارونو کې د شاته پېچلي خط ایسکیپ وګورئ.
- که سخت JSON اړتیا لرئ تبصرې لرې کړئ.
د عامو سمونو چټک نقشه:
| ستونزه | سمون |
|---|---|
| وروستی کاما | د وروستي توکي وروسته کاما ړنګه کړئ. |
| یوازې اقتباس | د نومونو او تارونو لپاره دوه ګونی اقتباس وکاروئ. |
| بې اقتباسه کیلي | د ځانګړتیا نوم په دوه ګوني اقتباس کې وتړئ. |
| ورک کاما | د ځانګړتیاوو یا د اري توکو ترمنځ کاما کېږدئ. |
| ورک قوس | هر { } او [ ] جوړه وتړئ. |
| ناسم ایسکیپ | قانوني ایسکیپ وکاروئ، یا په لارو کې شاته پېچلي خطونه دوه برابره کړئ. |
| تبصره | د معياري JSON لپاره // او /* */ لرې کړئ. |
په براوزر کې JSON وګورئ او بڼه ورکړئ
NEXNARA JSON سمبالول / Diff په دې وسیله JSON کتلی شي.
تاسو کولی شئ تایید، د ۲ ځایونو، ۴ ځایونو یا ټب سره ښکلی، minify، دوه سندونه پرتله (JSON Diff)، او .json فایل پرانیسئ. تجزیه په براوزر کې JSON.parse کاروي، نه eval.
له ۵ MB لوی سندونه ممکن ورو ښکاري. له ۱۵ MB لوی متن په براوزر کې نه پروسس کېږي، چې پاڼه ځواب ورکوونکې پاتې شي.
د JSON پروسس پخپله ستاسو په براوزر کې کېږي. د دې وسیله لپاره متن د NEXNARA سرور ته نه استول کېږي. اعلانونه او د سایټ نورې ځانګړتیاوې لا شبکه کاروي؛ هغه له پروسس څخه جلا ده.
ناسم JSON کتل غواړئ؟ JSON سمبالول / Diff پرانیسئ او متن ولګوئ.
FAQ
ولې زما JSON Unexpected token وايي؟
تجزیه کوونکي هلته غیر مجاز توری ولید. اصلي تېروتنه—ډېر ځله ورک کاما یا یوازې اقتباس—ممکن د هغه موقعیت څخه سم مخکې وي.
ایا په JSON کې وروستي کاماګانې اجازه لري؟
نه. معياري JSON د وروستۍ ځانګړتیا یا د اري توکي وروسته کاما اجازه نه ورکوي. د JavaScript شی لېټرلونه ډېر ځله اجازه ورکوي.
ایا JSON یوازې اقتباس کارولی شي؟
نه. د ځانګړتیا نومونه او تارونه باید دوه ګونی اقتباس وکاروي.
ایا JSON تبصرې درلودلی شي؟
په معياري JSON کې نه. ځینې وسایل د تبصرو سره JSONC یا JSON5 مني؛ JSON.parse لا هم ردوي.
ولې JSON.parse() ناکامېږي؟
تار سم JSON نه دی. عام لاملونه وروستی کاما، یوازې اقتباس، بې اقتباسه کیلي، تبصرې، یا پرې شوی ارزښت دي. دقیق پیغام د اجرا وخت پورې اړه لري.
څنګه وګورم چې JSON سم دی؟
په تایید کوونکي لکه JSON سمبالول / Diff کې یې ولګوئ، یا په کنسول کې JSON.parse وبلئ. که تجزیه وغورځوي، متن سم JSON نه دی.