Tech Help

સામાન્ય 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 જેવા ક્રમ માન્ય છે. C:\Users લખેલો Windows પાથ નથી: \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 રનટાઇમ પર આધાર રાખે છે. સંદેશને સંકેત ગણો, પછી તે સ્થાન પાસે અલ્પવિરામ, અવતરણ અને કૌંસ તપાસો.

JSON JavaScript ઑબ્જેક્ટ જેવું નથી

JavaScript ઑબ્જેક્ટ લિટરલ { name: 'Alex' } જેવું દેખાઈ શકે. માન્ય JSON { "name": "Alex" } જેવું હોવું જોઈએ: ડબલ-અવતરણ નામો અને સ્ટ્રિંગ, અંતિમ અલ્પવિરામ નહીં, ટિપ્પણી નહીં.

  • JSON લખાણ
  • પાર્સર ટોકન વાંચે છે
  • માન્ય ડેટા અથવા Unexpected token
ભૂલનું ચિહ્ન પાર્સ થંભ્યું ત્યાં છે, જે ખરી ભૂલ પછી હોઈ શકે.

JSON ભૂલ ઝડપથી કેવી રીતે શોધવી

આ ક્રમમાં કામ કરો. આખી ફાઇલ ફરી લખીને શરૂ ન કરો.

  1. JSON વેલિડેટરમાંથી ચલાવો.
  2. પહેલી અહેવાલ થયેલી ભૂલ વાંચો.
  3. અહેવાલ થયેલા સ્થાનથી થોડું પહેલાં જુઓ.
  4. અલ્પવિરામ તપાસો, ખાસ કરીને અંતિમ અને ખૂટતા.
  5. અવતરણ તપાસો: ફક્ત ડબલ.
  6. { } અને [ ] મેળવો.
  7. સ્ટ્રિંગમાં બેકસ્લેશ એસ્કેપ તપાસો.
  8. કડક 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 છેલ્લા ગુણધર્મ અથવા એરે વસ્તુ પછી અલ્પવિરામ મંજૂરી આપતું નથી. JavaScript ઑબ્જેક્ટ લિટરલ ઘણી વાર આપે છે.

JSON એકલ અવતરણ વાપરી શકે?

ના. ગુણધર્મ નામો અને સ્ટ્રિંગે ડબલ અવતરણ વાપરવું જોઈએ.

JSONમાં ટિપ્પણીઓ હોઈ શકે?

માનક JSONમાં નહીં. કેટલાંક સાધનો ટિપ્પણી સાથે JSONC અથવા JSON5 સ્વીકારે છે; JSON.parse તેમને નકારશે.

JSON.parse() શા માટે નિષ્ફળ થાય છે?

સ્ટ્રિંગ માન્ય JSON નથી. સામાન્ય કારણો અંતિમ અલ્પવિરામ, એકલ અવતરણ, અવતરણ વગરની ચાવીઓ, ટિપ્પણીઓ, અથવા કાપેલું મૂલ્ય. ચોક્કસ સંદેશ રનટાઇમ પર આધાર રાખે છે.

JSON માન્ય છે કે કેમ કેવી રીતે તપાસવું?

JSON ગોઠવો / Diff જેવા વેલિડેટરમાં પેસ્ટ કરો, અથવા કન્સોલમાં JSON.parse બોલાવો. પાર્સ ફેંકે તો લખાણ માન્ય JSON નથી.

Tech Help

JSON.parse શા માટે "Unexpected token" કહે છે?

ટેક્સ્ટ માન્ય JSON ન હોય ત્યારે JSON.parse Unexpected token ફેંકે છે. એકલ અવતરણ, અંતિમ અલ્પવિરામ, HTML પ્રતિસાદ અને ભૂલ સ્થાન ડિબગ કરો.

Tech Help

સ્ક્રીનશૉટ માટે JPG વિ PNG: કયું નાનું?

સામગ્રી પ્રમાણે સ્ક્રીનશૉટ માટે JPG અથવા PNG પસંદ કરો: UI અને લખાણ ઘણી વખત PNGમાં તીક્ષ્ણ રહે છે; ફોટો ભારે ફ્રેમ JPEGમાં નાની થઈ શકે.

Tech Help

છબી ધૂંધળી થયા વગર ફાઇલ કદ કેવી રીતે ઘટાડવું

સ્વીકાર્ય દેખાવ રાખીને ફોટો અને છબીનું ફાઇલ કદ ઘટાડો. પહેલાં વધુ મોટા પરિમાણ બદલો, પછી મધ્યમ કમ્પ્રેસ કરો, પછી માફક આવે તે ફોર્મેટ પસંદ કરો.

Tech Help

Unix Timestampથી તારીખ: સેકન્ડ, મિલિસેકન્ડ અને UTC સમજૂતી

Unix timestampને તારીખમાં ફેરવો. સેકન્ડ વિ. મિલિસેકન્ડ, UTC વિ. સ્થાનિક સમય, ISO 8601, અને તારીખને epoch સમય પર પાછી કેવી રીતે લઈ જવી.

Tech Help

Base64 ફાઇલો મોટી કેમ કરે છે?

Base64 સામાન્ય રીતે બાઇનરી ડેટાને લગભગ એક તૃતીયાંશ મોટો કરે છે. 3 બાઇટથી 4 અક્ષરની રચના, પેડિંગ, Data URLનો વધારાનો ભાર, અને તે કદ ક્યારે ફાયદાકારક છે તે જુઓ.