Nguyên nhân và cách xử lý lỗi JSON "Unexpected token"

JSON Sửa lỗi Frontend
Kết luận

Dấu phẩy thừa, dấu nháy đơn, ghi chú — những cách viết hoạt động trong JS nhưng không hợp lệ trong JSON là nguyên nhân gây lỗi. Sử dụng công cụ định dạng sẽ giúp bạn tìm ra lỗi ngay lập tức.

Bản chất của lỗi

Lỗi này xảy ra khi chuỗi văn bản truyền vào JSON.parse() vi phạm các quy tắc cú pháp của JSON.

JSON không giống hoàn toàn với đối tượng (object literal) trong JavaScript; nó có các quy tắc nghiêm ngặt hơn.

Các nguyên nhân phổ biến

Mô hình sai (Chạy được trong JS nhưng lỗi trong JSON) JSON đúng
Dấu phẩy ở cuối { "name": "Taro", } Xóa dấu phẩy cuối { "name": "Taro" }
Key không có dấu nháy { age: 25 } Bao quanh bằng dấu nháy kép { "age": 25 }
Dấu nháy đơn { 'role': 'admin' } Sử dụng dấu nháy kép { "role": "admin" }
Ghi chú (Comment) { "data": [] // memo } Không cho phép ghi chú { "data": [] }

Các bước gỡ lỗi

  1. Kiểm tra log lỗi — Nguyên nhân thường nằm gần vị trí at position N được báo.

  2. Dán vào công cụ định dạng — Để công cụ tự động phát hiện vị trí lỗi cú pháp cho bạn.

  3. Sửa và parse lại — Sửa các lỗi đã được chỉ ra và thực thi lại JSON.parse().

Cạm bẫy thường gặp

Nếu console.log() hiển thị là [object Object], thì đó đã là một đối tượng rồi, không phải chuỗi văn bản. Bạn không cần phải dùng JSON.parse() cho nó nữa.

Kiểm tra cú pháp bằng công cụ

🔧 この場でJSONを整形してエラーを特定する