Bagi kamu yang sering bekerja dengan javascript atau baru belajar java script , mungkin pernah engalami masalah tentang munculnya error json parse.
JSON adalah sebuah format data yang cukup populer dan cukup mudah digunakan, serta juga kompatibel dengan setiap bahasa pemrograman beserta didukung oleh setiap browser. Namun sama seperti bahasa pemrograman lainnya, JSON juga bisa mengalami masalah error, salah satunya adalah error json parse.
Kenapa error json parse bisa terjadi ?
Karena SyntaxError adalah objek turunan dari objek kesalahan utama . Alasan utama di balik munculnya error json parse karena adanya kesalahan dalam sintaks file JSON dan file JSON juga memiliki sintaks yang tetap. Kesalahan sintaks kecil juga dapat memicu terjadinya kesalahan. Misalnya, dalam kode dibawah ini, Misalkan saya lupa menghapus tanda koma JSON.parse() mem-parsing string sebagai JSON. String ini harus JSON yang valid dan akan memunculkan kesalahan ini .
{
"first": "Jhon",
"last": "Doe"
}
Array adalah kumpulan nilai, dikelilingi oleh tanda kurung:
[
"Jhon",
"Doe"
]
Karena nilai dapat berupa objek atau larik lain, JSON dapat bersarang tanpa batas (secara teoritis). Dalam JavaScript, saat meneruskan JSON ke metode JSON.parse(), metode mengharapkan JSON yang diformat dengan benar sebagai argumen pertama.
Jadi, ketika mendeteksi JSON yang tidak valid, maka error JSON Parse akan muncul. Misalnya, salah satu kesalahan ketik atau sintaks yang paling umum di JSON adalah menambahkan pemisah koma tambahan di akhir array atau kumpulan nilai objek.
Perhatikan dalam beberapa contoh di atas, kami hanya menggunakan koma untuk memisahkan nilai secara harfiah satu sama lain. Di sini saya akan mencoba menambahkan koma ekstra, atau “menggantung”, setelah nilai akhir :

Catatan: Kami menggunakan sintaks string backtick (`) untuk menginisialisasi JSON kami, yang hanya memungkinkan kami untuk menyajikannya dalam bentuk yang lebih mudah dibaca. Secara fungsional, ini identik dengan string yang terdapat pada satu baris. Seperti yang diharapkan, koma asing kami di bagian akhir memunculkan kesalahan Parse JSON:
[EXPLICIT] SyntaxError: Unexpected token } in JSON at position 107
Cara Mudah Mencari Penyebab Error json parse
Cara yang paling mudah untuk mencari dan menemukan error JSON Parse adalah dengan menelusuri log Anda, tetapi ketika Anda berurusan dengan ratusan, jika bukan ribuan, baris kode, mungkin sulit untuk menemukan satu baris kode yang rusak itu.
Anda dapat menggunakan bantuan aplikasi Airbrake Error and Performance Monitoring, dengan aplikasi ini Anda dapat langsung menuju ke baris kode yang rusak yang memicu terjadinya masalah error JSON Parse.
Berbagai Macam Masalah JSON Parse Error :
SyntaxError: JSON.parse: bad character in string literal
SyntaxError: JSON.parse: bad Unicode escape
SyntaxError: JSON.parse: end of data after property name when ‘:’ was expected
SyntaxError: JSON.parse: expected ‘:’ after property name in object
SyntaxError: JSON.parse: end of data after property value in object
SyntaxError: JSON.parse: expected property name or ‘}’
SyntaxError: JSON.parse: unexpected character
SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data
SyntaxError: JSON.parse: bad escape character
SyntaxError: JSON.parse: unterminated string
SyntaxError: JSON.parse: no number after minus sign
SyntaxError: JSON.parse: unexpected character
SyntaxError: JSON.parse: end of data while reading object contents
SyntaxError: JSON.parse: expected property name or ‘}’
SyntaxError: JSON.parse: end of data when ‘,’ or ‘]’ was expected
SyntaxError: JSON.parse: expected ‘,’ or ‘}’ after property-value pair in object literal
SyntaxError: JSON.parse: property names must be double-quoted strings
SyntaxError: JSON.parse: expected ‘,’ or ‘]’ after array element
SyntaxError: JSON.parse: unterminated string literal
SyntaxError: JSON.parse: bad control character in string literal
SyntaxError: JSON.parse: unexpected non-digit
SyntaxError: JSON.parse: missing digits after decimal point
SyntaxError: JSON.parse: unterminated fractional number
SyntaxError: JSON.parse: missing digits after exponent indicator
SyntaxError: JSON.parse: missing digits after exponent sign
SyntaxError: JSON.parse: exponent part is missing a number
SyntaxError: JSON.parse: unexpected end of data
SyntaxError: JSON.parse: unexpected keyword
SyntaxError: JSON.parse: end of data when property name was expected
SyntaxError: JSON.parse: expected double-quoted property name
SyntaxError: JSON.parse: expected ‘,’ or ‘}’ after property value in object