
สำหรับพวกเราที่ใช้ JavaScript หรือ TypeScript ในการทำงานกับข้อมูลระหว่างตัวแอพพลิเคชั่นกับฝั่ง Server ที่ปกติจะต้องทำงานกับข้อมูล JSON อาจจะเคยเจอข้อความ Error แบบนี้
SyntaxError: Unexpected token o in JSON at position 1
แล้วก็หัวหมุนอยู่สักพักใช่ไหม? เหมือนกันเลย
แต่ขอมาโน๊ตไว้ที่นี่แล้วกันว่า เคสที่มักเจอ Error แบบนี้ มักจะเป็นตอนที่เรากำลังพยายามใช้ JSON.parse()
ในการแปลง JSON ในรูปแบบ String ให้อยู่ในรูปแบบ Object เพื่อใช้งานในแอพของเรา
JSON.parse(req.body)
SyntaxError: Unexpected token o in JSON at position 1
สาเหตุนั้นเกิดจาก
ตัวแปร JSON ที่เราคิดว่าเป็น String ยังไม่ได้แปลงนั้น มันแปลงมาให้แล้ว! มัน parse มาให้แล้ว!
ดังนั้นอาการแบบนี้มักจะเกิดจากการที่เรามีการใช้ module หรือ framework ร่วมในโปรเจคด้วย และเขาใจดี ทำให้เราแล้ว เอาไปใช้ได้เลยไม่ต้องมาแปรรูปอีกครั้งครับ
จบโน๊ตด้วยประการฉะนี้ ถ้าชอบเทคนิคดีๆ แบบนี้ไปกดไลค์แฟนเพจ กับ Youtube Channel พลด้วยล่ะ
ที่มา – StackOverflow