İçeriğe geç

JSON Biçimlendiricisi: JSON'u Çevrimiçi Ücretsiz Küçültme ve Güzelleştirme

JSON'u anında küçültmek ve güzelleştirmek için ücretsiz JSON biçimlendiricisi. JSON'u sıkıştırın, söz dizimini doğrulayın ve uygun girintileme ile güzel bir şekilde yazdırın. Hızlı, güvenli tarayıcı tabanlı araç.

JSON Biçimlendiricisi

Yükleme hesaplayıcısı...
📚

Belgeler

JSON Biçimlendirici: JSON'ı Küçültme ve Güzelleştirme

JSON biçimlendirici, içindeki verileri değiştirmeden JSON metnini farklı bir düzende yeniden yazar. Bu JSON biçimlendirici iki işlem yapar: Fazladan boşlukları kaldırarak JSON'ı küçültür ve insanların okuyabilmesi için girinti ve satır sonları ekleyerek JSON'ı güzelleştirir.

JSON nedir?

JavaScript Object Notation'ın kısaltması olan JSON, verileri depolamak ve göndermek için kullanılan bir metin biçimidir. Web sunucuları bilgileri uygulamalara ve tarayıcılara göndermek için JSON kullanır. Programlar da ayar dosyalarında JSON'dan yararlanır. JSON, süslü parantezlerle yazılan nesnelerde {} ve köşeli parantezlerle yazılan dizilerde [] veri depolar. Bir nesnenin içinde her veri parçasının anahtar adı verilen bir adı ve bir değeri vardır. Değer bir dize, sayı, true, false, null veya başka bir nesne ya da dizi olabilir.

Küçük bir JSON nesnesi şu şekildedir:

1{
2  "name": "John Doe",
3  "age": 30,
4  "isEmployee": true
5}
6

Bu JSON biçimlendirici nasıl çalışır?

Bazı JSON araçları metni bir programlama dilinin kendi veri yapısına okur ve ardından bu yapıyı yeniden metin olarak yazar. Bu gidiş-dönüş veri değişikliklerine yol açabilir. Çok büyük sayıları yeniden yazabilir, gösterilemeyecek kadar büyük sayıları atabilir ve bir nesnedeki anahtarların sırasını değiştirebilir.

Bu araç bunu yapmaz. Girdiyi karakter karakter okur ve JSON dilbilgisine uyup uymadığını denetler. Çıktıyı yeniden yazarken her sayıyı ve her dizeyi yazıldığı biçimiyle, aynı sırada kopyalar. Bir belgeyi küçültmek veya güzelleştirmek sayıyı, anahtarı, anahtarların sırasını ya da yinelenen bir anahtarı hiçbir zaman değiştirmez.

Metin geçerli JSON değilse araç durur ve ne kastedildiğini tahmin etmek yerine bir hata gösterir.

Biçimlendirme tarayıcıda gerçekleşir. Araç, yapıştırılan metni bir sunucuya göndermez. Girdi, sorgu parametresi olarak sayfanın web adresine eklenir; böylece biçimlendirilmiş bir belge bağlantıyla paylaşılabilir veya yer imi olarak kaydedilebilir.

JSON nasıl küçültülür?

  1. JSON'ı giriş kutusuna yapıştırın.
  2. "Küçült" düğmesine tıklayın.
  3. Araç, belirteçler arasındaki boşlukları, sekmeleri ve satır sonlarını kaldırır ve sonucu aşağıda gösterir.
  4. Kopyalamak için sonucun üstündeki "Kopyala" düğmesine tıklayın.

Çözümlü örnek

Önce:

1{
2  "name": "John Smith",
3  "age": 32,
4  "skills": [
5    "JavaScript",
6    "HTML",
7    "CSS"
8  ]
9}
10

Sonra:

1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2

JSON küçültme formülü

Küçültme ile kaydedilen alan şu şekilde yazılabilir:

Kaydedilen alan=(1−ku¨c¸u¨ltu¨lmu¨s¸ boyuto¨zgu¨n boyut)×100%\text{Kaydedilen alan} = \left(1 - \frac{\text{küçültülmüş boyut}}{\text{özgün boyut}}\right) \times 100\%

Yukarıdaki örnekte biçimlendirilmiş sürüm 98 bayt, küçültülmüş sürüm ise 67 bayttır:

(1−6798)×100%≈32%\left(1 - \frac{67}{98}\right) \times 100\% \approx 32\%

Tam olarak ne kadar alan kazanıldığı, özgün belgede ne kadar boşluk ve girinti bulunduğuna bağlıdır. 4 boşluklu girintiye sahip, iç içe yapısı derin bir belge, zaten sıkıştırılmış bir belgeye göre daha fazla küçülür.

JSON nasıl güzelleştirilir?

  1. JSON'ı giriş kutusuna yapıştırın. JSON zaten küçültülmüş veya dağınık biçimlendirilmiş olabilir.
  2. "Güzelleştir" düğmesine tıklayın.
  3. Araç, 2 boşluklu girinti, her anahtar veya dizi öğesi için bir satır sonu ve her iki noktadan sonra bir boşluk ekler.
  4. Kopyalamak için sonucun üstündeki "Kopyala" düğmesine tıklayın.

Çözümlü örnek

Önce:

1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2

Sonra:

1{
2  "name": "John Smith",
3  "age": 32,
4  "skills": [
5    "JavaScript",
6    "HTML",
7    "CSS"
8  ]
9}
10

Boş bir nesne veya dizi, üç satıra bölünmek yerine {} veya [] biçiminde tek satırda kalır.

Bu aracın yakaladığı yaygın JSON hataları

JSON, tipik bir programlama dilinden daha katı olmak üzere, katı bir dilbilgisine sahiptir. Bu araç, aşağıdaki kurallardan herhangi birini ihlal eden metni reddeder ve sonuç yerine "Geçersiz JSON" mesajı gösterir:

  • İki değer arasında virgül bulunmaması.
  • Bir nesne veya dizideki son öğeden sonra virgül bulunması (JavaScript'in aksine JSON'da buna izin verilmez).
  • Çift tırnak içine alınmamış bir anahtar.
  • Bir dizeyi çift tırnak yerine tek tırnak içine alma.
  • Birbiriyle eşleşmeyen veya eksik köşeli ve süslü parantezler.
  • Bir dize içindeki geçersiz veya tamamlanmamış bir kaçış dizisi; örneğin tek başına bulunan bir ters eğik çizgi.
  • Bir dize içinde gerçek bir satır sonu veya sekme gibi bir denetim karakterinin \n ya da \t olarak yazılmak yerine doğrudan yazılması.
  • JSON'ın izin vermediği bir sayı biçimi; örneğin başında sıfır bulunması (01), ondalık noktayla bitmesi (1.) veya başında artı işareti olması (+1).

JSON'da yorumlar için de bir söz dizimi yoktur. // veya /* ile başlayan metin JSON dilbilgisinin parçası değildir; bu nedenle yorum içeren JSON'ı yapıştırmak, yorumların sessizce kaldırıldığı bir JSON yerine "Geçersiz JSON" hatası üretir. Böyle bir dosyayı biçimlendirmek için önce yorumları kaldırın.

JSON biçimlendiricinin kullanım alanları

  • Web geliştirme: hata ayıklama sırasında API yanıtlarını okumak ve dağıtımdan önce yapılandırma dosyalarını küçültmek.
  • API geliştirme: bir istek veya yanıt gövdesinin düzgün biçimlendirilmiş JSON olup olmadığını denetlemek.
  • Veri analizi: sıkıştırılmış bir JSON dışa aktarımını incelemeye uygun, okunabilir bir düzene dönüştürmek.
  • Yapılandırma dosyaları: bir yapılandırma dosyasını elle düzenlemeden önce güzelleştirmek, ardından yeniden küçültmek.

Alternatifler

Visual Studio Code gibi kod düzenleyicileri, düzenleyiciden çıkmadan JSON dosyalarını biçimlendirebilir. jq gibi komut satırı araçları, bir betiğin parçası olarak JSON'ı biçimlendirebilir ve filtreleyebilir. Programlama dilleri, Python'ın json modülü veya JavaScript'in çoğu programın JSON'ı kendi veri yapılarına ayrıştırmak için kullandığı yerleşik JSON nesnesi gibi JSON kitaplıklarını da içerir. Bunun gibi çevrim içi bir biçimlendirici, herhangi bir şey yüklemeden hızlı ve tek seferlik bir denetim gerektiğinde yararlıdır.

JSON'ın tarihi

Douglas Crockford, JSON'ı 2000'lerin başında JavaScript'in nesne sabitlerini yazma biçimine dayanarak tanımladı; ancak biçim, herhangi bir programlama dili tarafından okunup yazılabilecek şekilde tasarlandı. Biçim ilk kez yaklaşık 2001 yılında kamuya açık olarak belgelendi ve daha sonra 2006'da RFC 4627, (1.030 cm) 2013'te ECMA-404 ve (21.000 cm) 2017'de RFC 8259 olarak standartlaştırıldı. Web API'leri 2000'ler boyunca yaygınlaştıkça JSON, sunucular ve tarayıcılar arasında veri göndermede en yaygın biçim olarak XML'in yerini aldı; bunun başlıca nedenleri JSON'ın daha kısa olması ve JavaScript'te zaten oluşturulmuş veri yapılarına doğrudan eşlenmesiydi. JSON belgeleri büyüyüp daha fazla iç içe yapı kazandıkça biçimlendirme ve doğrulama araçları da ortaya çıktı.

Sık sorulan sorular

Küçültme JSON'daki yorumları kaldırır mı? Hayır. JSON'da yorum söz dizimi yoktur ve bu araç da yorum eklemez. Girdi // veya /* biçiminde yorumlar içeriyorsa araç, onu biçimlendirmek yerine "Geçersiz JSON" hatası bildirir. Metni yapıştırmadan önce yorumları kaldırın.

Biçimlendirme sayılarımı veya anahtarlarımın sırasını değiştirir mi? Hayır. Araç her sayıyı ve dizeyi yazıldığı biçimiyle kopyalar ve varsa yinelenen anahtarlar da dahil olmak üzere anahtarları özgün sıralarında tutar.

Güzelleştirici hangi girintiyi kullanır? Her iç içe geçme düzeyi için iki boşluk ve her iki noktadan sonra bir boşluk kullanır.

JSON verilerim bir sunucuya gönderiliyor mu? Hayır. Biçimlendirme tarayıcıda çalışır. Yapıştırdığınız metin, json sorgu parametresi olarak sayfanın URL'sine kopyalanır; böylece sayfa paylaşılabilir veya yer imi olarak kaydedilebilir. Hiçbir şey yüklenmez.

Boyut sınırı var mı? Sabit bir sınır yoktur; ancak ayrıştırma sırasında belgenin tamamı bellekte tutulur. Bu nedenle çok büyük bir dosya (birçok megabayt) eski bir cihazda yavaş olabilir.

Geçersiz JSON yalnızca kısmen düzeltilir mi? Hayır. Girdi herhangi bir yerde JSON dilbilgisini ihlal ederse araç, kısmi veya tahmine dayalı bir sonuç döndürmek yerine hata gösterir.

Kaynaklar

  1. "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
  2. Bray, T., ed. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, Aralık 2017, https://www.rfc-editor.org/rfc/rfc8259.
  3. "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
  4. "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.