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

  • backyardjay

    backyardjay

    8 ŞUBAT 2009
  • FailArmy U

    FailArmy U

    29 AĞUSTOS 2009
  • movies95

    movies95

    27 Kasım 2006