İdeal olarak, dilinizde bazı uygun veri yapılarını besleyebileceğiniz bir JSON kütüphanesi bulun ve işlerden nasıl kaçacağınız konusunda endişelenmesine izin verin . Seni daha aklı tutacak. Herhangi bir nedenle dilinizde bir kitaplığınız yoksa, bir tane kullanmak istemezsiniz (bunu tavsiye etmem¹¹) veya bir JSON kitaplığı yazıyorsanız, okumaya devam edin.
RFC'ye göre kaçın. JSON oldukça liberaldir: Yalnızca karakterler gerekir kaçış vardır \
, "
kontrol kodları (şey daha az U + 0020 den) ve.
Bu kaçış yapısı JSON'a özgüdür. JSON'a özgü bir işleve ihtiyacınız vardır. Tüm çıkış karakterleri, bu karakter için UTF-16 kod birimi¹ \uXXXX
olduğu gibi yazılabilir XXXX
. Bunun gibi çalışan birkaç kısayol vardır \\
. (Ve daha küçük ve daha net bir çıktı sağlarlar.)
Tüm ayrıntılar için RFC'ye bakın .
¹JSON en kaçış yüzden kullanır, JS üzerine inşa edilmiştir \uXXXX
nerede, XXXX
UTF-16 kod birimidir. BMP dışındaki kod noktaları için bu, biraz kıllı olabilen vekil çiftleri kodlamak anlamına gelir. (Veya JSON için kodlanmış Unicode metin olduğundan ve bu belirli karakterlere izin verdiğinden, karakteri doğrudan çıktılayabilirsiniz.)
'
sarıyorsanız, baştan mahkum olursunuz: JSON dizeleri yalnızca çevrelenebilir"
. Bkz. İetf.org/rfc/rfc4627.txt .