Tech Help

የተለመዱ JSON ስህተቶች፦ የመጨረሻ ነጠላ ሰረዝ፣ ጥቅሶች እና Unexpected token

ልክ ያልሆነ JSON ያስተካክሉ፦ የመጨረሻ ነጠላ ሰረዝ፣ ነጠላ ጥቅስ፣ ጥቅስ የሌላቸው ቁልፎች እና Unexpected token። JSON.parse ለምን እንደሚወድቅ እና JSON እንዴት እንደሚረጋገጥ።

ፈጣን መልስ

አብዛኛዎቹ JSON ስህተቶች ከጠንካራ ህጎች ይመጣሉ፦ የመጨረሻ ነጠላ ሰረዝ፣ ነጠላ ጥቅስ፣ ጥቅስ የሌላቸው የባህሪ ስሞች፣ የጎደለ ነጠላ ሰረዝ፣ የማይመሳሰሉ ቅንፍ፣ ልክ ያልሆነ escape ወይም አስተያየቶች።

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. ልክ ያልሆኑ escape ተከታታዮች

በJSON ሕብረቁምፊ ውስጥ የኋላ ተዳፋት መስመር escape ይጀምራል። እንደ " ፣ \ እና \n ያሉ ተከታታዮች ልክ ናቸው። C:\Users ተብሎ የተጻፈ የWindows መንገድ አይደለም፦ \U ሕጋዊ JSON escape አይደለም። የኋላ ተዳፋት መስመሮችን በእጥፍ ያድርጉ፣ አለበለዚያ ተንታኙ በዚያ ቁምፊ ላይ ይቆማል።

ልክ አይደለም

{"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. በሕብረቁምፊዎች ውስጥ የኋላ ተዳፋት መስመር escape ይፈትሹ።
  8. ጠንካራ JSON ከፈለጉ አስተያየቶችን ያስወግዱ።

የተለመዱ ማስተካከያዎች ፈጣን ካርታ፦

ችግር ማስተካከያ
የመጨረሻ ነጠላ ሰረዝከመጨረሻው ንጥል በኋላ ነጠላ ሰረዙን ይሰርዙ።
ነጠላ ጥቅስለስሞች እና ሕብረቁምፊዎች ድርብ ጥቅስ ይጠቀሙ።
ጥቅስ የሌለው ቁልፍየባህሪ ስሙን በድርብ ጥቅስ ይጠቅሉ።
የጎደለ ነጠላ ሰረዝበባህሪያት ወይም በድርድር ንጥሎች መካከል ነጠላ ሰረዝ ያስቀምጡ።
የጎደለ ቅንፍእያንዳንዱን { } እና [ ] ጥንድ ይዝጉ።
ልክ ያልሆነ escapeሕጋዊ escape ይጠቀሙ፣ ወይም በመንገዶች ውስጥ የኋላ ተዳፋት መስመሮችን በእጥፍ ያድርጉ።
አስተያየትለመደበኛ 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 አይደለም።