JSON için string nasıl escape edilir?
- Modu seçin: Escape, Unescape, JSON'u string'e çevir veya String'i JSON'a çevir.
- Girdiyi yazın veya yapıştırın; sonuç anında görünür. Escape ederken dış tırnakların eklenip eklenmeyeceğine ve ASCII olmayan karakterlerin
\uXXXXolarak yazılıp yazılmayacağına karar verin. - Sonucu kopyalayın ya da işlemi tersine çevirip gidiş-dönüş sonucunu kontrol etmek için Yer değiştir düğmesine basın.
JSON kaçış karakterleri (escape dizileri)
| Karakter | Escape edilmiş hali |
|---|---|
Çift tırnak " | \" |
Ters eğik çizgi \ | \\ |
| Satır besleme (yeni satır) | \n |
| Satır başı (carriage return) | \r |
| Sekme (tab) | \t |
| Geri silme (backspace), sayfa besleme (form feed) | \b, \f |
| Diğer kontrol karakterleri U+0000–U+001F | \u0000 … \u001f |
| Herhangi bir karakter (isteğe bağlı) | \uXXXX, ör. é → \u00e9, 😀 → \ud83d\ude00 |
Eğik çizgi / (isteğe bağlı) | \/ |
JSON'da tek tırnakların hiçbir zaman escape edilmesi gerekmez, çünkü JSON string'leri her zaman çift tırnak kullanır.
String'e çevrilmiş (stringified) JSON
Stringified JSON, bir JSON string'inin içinde saklanan bir JSON belgesidir – örneğin "payload": "{\"id\":7}" gibi bir API alanı ya da bir veritabanı sütununa, ortam değişkenine veya log satırına kaydedilmiş JSON. JSON'u string'e çevir bir belgeden böyle bir string oluşturur; String'i JSON'a çevir ise iki kez string'e çevrilmiş olsa bile onu açar ve sonucu formatlar.
- JavaScript:
JSON.stringify(text)escape eder,JSON.parse(literal)unescape eder. - Python:
json.dumps(text)vejson.loads(literal). - PHP:
json_encode($text)vejson_decode($literal).
Sıkça sorulan sorular
JSON'da hangi karakterler escape edilmelidir?
Yalnızca çift tırnak, ters eğik çizgi ve satır sonları ile sekmeler gibi U+0000 ile U+001F arasındaki kontrol karakterleri. Geri kalan her şey – ş, ğ, é, 中 ve emojiler dahil – UTF-8 JSON içinde olduğu gibi yer alabilir.
Neden é yerine \u00e9 görüyorum?
Bazı programlar ASCII olmayan her karakteri \uXXXX kaçış dizisi olarak yazar. İki biçim de aynı anlama gelir; Unescape modu bu kaçış dizilerini yeniden okunabilir metne çevirir.
Escape etmek ile stringify etmek arasındaki fark nedir?
Escape etmek herhangi bir metni JSON string literal'ine dönüştürür. Stringify ise önce girdinin geçerli JSON olup olmadığını kontrol eder, onu küçültür ve ardından escape eder; sonuç, içinde bir JSON belgesi barındıran bir string olur.
Dış tırnaklar olmadan bir string'i unescape edebilir miyim?
Evet. İçeriği dış tırnaklarla veya tırnaksız yapıştırın; escape edilmemiş başıboş tırnaklar ve gerçek satır sonları da tolere edilir.