SORU
11 HAZİRAN 2010, Cuma


Nasıl JSON dizeleri kaçmak gerekir?

El ile JSON veri oluştururken, nasıl dize alanları kaçmalıyım? Apache gibi bir şey kullanmak Commons Lang StringEscapeUtilities.escapeHtml, StringEscapeUtilities.escapeXml, I java.net.URLEncoder kullanmak gerekir gerekir?

Sorun tırnak kaçış yok ve ben ' s Bir çift bütün bir dize sarın SEU.escapeHtml, kullandığınızda, hatalı bir JSON tarafından oluşturulur.

CEVAP
11 HAZİRAN 2010, Cuma


İdealdilinizde bir JSON Kütüphanesi bulunbazı uygun veri yapısı besleyebilirsinizve bu şeylerden kaçmak için nasıl düşüneyim. Senin kadar aklım başımda kalsın. Dilinizde bir kütüphane yok her birini kullanmak istemiyorum (this1 tavsiye etmem), ya da JSON Kütüphanesi, okumaya devam ediyorsun.

RFC göre kaçış. JSON oldukça liberal: tek karaktergerekirkaçış \, " ve kontrol kodları (bir şey U 0020 daha az).

Kaçan bu yapı JSON özgüdür. JSON belirli bir fonksiyon gerekir. Kaçar tüm XXXX bu karakter için UTF-16 kod unit1 olduğu \uXXXX olarak yazılabilir. Birkaç kısayol olarak çalışan \\, gibi. (Ve onlar daha küçük ve daha net bir sonuç çıktı.)

Tüm ayrıntılar için, the RFC bkz.

1JSON kaçıyor JS üzerine inşa edilmiştir, XXXX UTF-16 kod birimi olduğu \uXXXX kullanır. BMP dışında kod noktaları için, bu biraz zor olabilir çiftlerini, kodlama anlamına gelir. (Ya da, sadece JSON için kodlanmış Unicode metin ve bu özel karakterler izin verdiği karakter doğrudan çıkış yapabilirsiniz.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • gsipek

    gsipek

    20 Temmuz 2007
  • GWTLecturer

    GWTLecturer

    18 EKİM 2012
  • Kyletiv7

    Kyletiv7

    28 Mayıs 2007