Saya terkejut dengan adanya informasi yang salah tentang topik dasar.
String JSON tidak dapat dikutip dengan kutipan tunggal . Berbagai versi spesifikasi ( asli oleh Douglas Crockford, versi ECMA , dan versi IETF ) semuanya menyatakan bahwa string harus dikutip dengan tanda kutip ganda. Ini bukan masalah teoritis, atau masalah pendapat seperti yang diterima oleh jawaban saat ini; parser JSON di dunia nyata akan kesalahan jika Anda mencoba untuk menguraikan string yang dikutip tunggal.
Versi Crockford dan ECMA bahkan menampilkan definisi sebuah string menggunakan gambar yang cantik, yang seharusnya membuat poinnya jelas:
Gambar cantik ini juga mencantumkan semua urutan pelarian yang sah dalam string JSON:
\"
\\
\/
\b
\f
\n
\r
\t
\u
diikuti oleh empat digit hex
Perhatikan bahwa, berbeda dengan omong kosong dalam beberapa jawaban lain di sini, \'
tidak pernah urutan pelarian yang valid dalam string JSON. Tidak harus demikian, karena string JSON selalu dikutip ganda.
Akhirnya, Anda seharusnya tidak perlu berpikir tentang melarikan diri karakter diri sendiri ketika programatik menghasilkan JSON (meskipun tentu saja Anda akan ketika secara manual mengedit, katakanlah, file konfigurasi berbasis JSON). Alih-alih, bentuk struktur data yang ingin Anda enkode menggunakan jenis peta, larik, string, nomor, boolean, dan null apa pun yang dimiliki bahasa Anda, dan kemudian menyandikannya ke JSON dengan fungsi penyandian JSON. Fungsi semacam itu mungkin dibangun ke dalam bahasa apa pun yang Anda gunakan, seperti JavaScript JSON.stringify
, PHP json_encode
, atau Pythonjson.dumps
. Jika Anda menggunakan bahasa yang tidak memiliki fungsi seperti itu, Anda mungkin dapat menemukan parsing dan pengkodean JSON untuk digunakan. Jika Anda hanya menggunakan fungsi bahasa atau perpustakaan untuk mengonversi berbagai hal ke dan dari JSON, Anda bahkan tidak perlu tahu aturan pelarian JSON. Inilah yang seharusnya dilakukan oleh penanya yang salah arah.