Saya mencoba menampilkan tanda kutip ganda tetapi ini menunjukkan salah satu garis miring terbalik:
"maingame": {
"day1": {
"text1": "Tag 1",
"text2": "Heute startet unsere Rundreise \\\"Example text\\\". Jeden Tag wird ein neues Reiseziel angesteuert bis wir.</strong> "
}
}
Saat merender dalam html itu ditampilkan sebagai \"Example text\"
. Apa cara yang benar?
All characters may be placed within the quotation marks except for the characters that must be escaped
dan kemudian menentukan:\" represents the quotation mark character (U+0022)
\\\"
Sebaliknya, kapan dan di mana digunakan . OK jika Anda seperti saya, Anda akan merasa sama bodohnya seperti ketika saya menyadari apa yang saya lakukan setelah saya menemukan utas ini.Jika Anda membuat file teks / streaming .json dan mengimpor data dari sana maka jawaban aliran utama hanya satu backslash sebelum tanda kutip ganda:
\"
adalah yang Anda cari.Namun jika Anda seperti saya dan Anda mencoba untuk mendapatkan "Tryit Editor" w3schools.com untuk memiliki tanda kutip ganda dalam output JSON.parse (teks), maka yang Anda cari adalah triple. backslash tanda kutip ganda
\\\"
. Ini karena Anda sedang membangun string teks Anda dalam<script>
blok HTML , dan backslash ganda pertama menyisipkan backslash tunggal ke dalam variabel string kemudian kutipan ganda backslash berikut memasukkan penawaran ganda ke dalam string sehingga string skrip yang dihasilkan berisi\"
dari jawaban standar dan parser JSON akan menguraikan ini hanya sebagai tanda kutip ganda.+1: karena ini adalah string teks JavaScript, tanda kutip ganda backslash
\\"
akan berfungsi juga; karena kuotasi ganda tidak perlu diloloskan dalam satu string yang dikutip misalnya'\"'
dan'"'
menghasilkan string JS yang sama.sumber
Ini menunjukkan garis miring terbalik karena Anda juga lolos dari garis miring terbalik.
Selain dari tanda kutip ganda, Anda juga harus melarikan diri dari garis miring terbalik jika Anda ingin memasukkannya dalam string yang dikutip JSON. Namun jika Anda berniat menggunakan backslash dalam urutan escape, jelas Anda tidak harus menghindarinya.
sumber
Perhatikan bahwa ini paling sering terjadi ketika konten telah "dikodekan ganda", yang berarti algoritma pengkodean secara tidak sengaja telah dipanggil dua kali.
Panggilan pertama akan menyandikan nilai "text2":
DARI: Heute startet unsere Rundreise "Contoh teks". Jeden Tag telah menambahkan Reiseziel angesteuert bis wir.
UNTUK: Heute startet unsere Rundreise \ "Contoh teks \". Jeden Tag telah menambahkan Reiseziel angesteuert bis wir.
Pengkodean kedua kemudian mengonversinya lagi, keluar dari karakter yang sudah lolos:
DARI: Heute startet unsere Rundreise \ "Contoh teks \". Jeden Tag telah menambahkan Reiseziel angesteuert bis wir.
UNTUK: Heute startet unsere Rundreise \\ "Contoh teks \\". Jeden Tag telah menambahkan Reiseziel angesteuert bis wir.
Jadi, jika Anda bertanggung jawab atas implementasi server di sini, periksa untuk memastikan tidak ada dua langkah yang mencoba menyandikan konten yang sama.
sumber
jika Anda ingin menghindari kutip ganda di JSON gunakan \\ untuk menghindarinya.
contoh jika Anda ingin membuat json dari objek javascript berikut
maka Anda harus menulis dengan cara berikut
jika kita menguraikannya menggunakan
JSON.parse()
hasilnya akan
sumber
Untuk menghindari backslash yang menyebabkan masalah untuk data JSON saya menggunakan fungsi ini.
sumber
Bagi mereka yang ingin menggunakan PowerShell pengembang. Berikut adalah baris untuk ditambahkan ke pengaturan Anda. Json:
sumber