- JSON5, JSON dosya biçimini genişleterek insanların doğrudan yazıp bakımını daha kolay yapabilmesi için oluşturulmuş bir biçim
- Makineler arası iletişim amacıyla kullanılmaz
- 2012'de başladı; 2022 itibarıyla haftada 65 milyondan fazla kez indiriliyor ve npm'de en çok bağımlılık alınan paketlerin ilk %0,1'lik diliminde yer alıyor
- Chromium, Next.js, Babel, Retool, WebStorm gibi büyük projelerde benimsenmiş durumda
- macOS ve iOS gibi Apple platformlarında varsayılan olarak desteklenir
- JSON5'in özellikleri
- JSON'un üst kümesidir ve ECMAScript 5.1'in bazı sözdizimini içerir
- JSON5 dosyaları her zaman geçerli bir ES5 dosyasıdır
- Genişletilmiş ECMAScript 5.1 özellikleri
- Nesneler
- Nesne anahtarları ECMAScript 5.1
IdentifierName olabilir
- Nesnelerde tek bir sondaki virgüle izin verir
- Diziler
- Dizilerde tek bir sondaki virgüle izin verir
- Dizgeler
- Dizgeler tek tırnak içinde yazılabilir
- Satır sonu karakteri escape edilerek birden fazla satıra yayılabilir
- Karakter escape'leri içerebilir
- Sayılar
- Onaltılık biçimde ifade edilebilir
- Başta veya sonda ondalık ayırıcı içerebilir
- IEEE 754 pozitif sonsuzluk, negatif sonsuzluk ve NaN içerebilir
- Açık bir artı işaretiyle başlayabilir
- Yorumlar
- Tek satırlı ve çok satırlı yorumlara izin verir
- Boşluklar
- Ek boşluk karakterlerine izin verir
- API
JSON5.parse(): JSON5 dizgesini parse ederek JavaScript değeri veya nesnesi oluşturur
JSON5.stringify(): JavaScript değerini JSON5 dizgesine dönüştürür
- CLI
- JSON5'i JSON'a dönüştüren veya JSON5 belgelerinin sözdizimini doğrulayan bir CLI sunar
- ECMAScript uyumluluğu
- JSON5, ES5 ile tamamen uyumlu olacak şekilde tasarlanmıştır; ancak U+2028 ve U+2029 karakterlerine ES5'te izin verilmez
- Bu karakterler ES2019'da izinli hale geldiği için JSON ve JSON5, ES2019 ile tamamen uyumludur
- Lisans
- MIT lisansı altında sunulur
2 yorum
JSON5’i oluştururken öğrendiklerim: Nefret edenleri görmezden gelin
Hacker News görüşleri
\Ukaçış dizisini getirmemiş olmasına dikkat çekiliyordatetimetürü dışında başka özelliklere ihtiyaç olmadığı düşünülüyor