RevealTheme logo

JSON Biçimlendirici ve Doğrulayıcı

JSON'u biçimlendirin, güzelleştirin, doğrulayın ve küçültün. Tamamen tarayıcınızda çalışır, bu nedenle verileriniz asla cihazınızdan çıkmaz.

Bu araç nasıl kullanılır

  1. 1

    JSON verinizi giriş alanına yapıştırın.

  2. 2

    Girintili olarak biçimli yazdırmak için Format'a, boşlukları kaldırmak için Minify'a tıklayın.

  3. 3

    Hatalar, ayrıştırmanın başarısız olduğu tam satır ve sütunu gösterir.

  4. 4

    Sonucu panonuza kopyalayın.

JSON nedir ve neden biçimlendirmek önemlidir?

JSON (JavaScript Object Notation), modern web API'lerinin, yapılandırma dosyalarının ve yapılandırılmış olay günlüklemesinin ortak dilidir. Her REST ve GraphQL API'si JSON döndürür; her package.json, tsconfig.json ve çoğu CI yapılandırması JSON'dur; AWS, GCP ve Azure CLI'larında JSON konuşur. JSON'un gücü minimal dilbilgisidir: altı yapısal karakter ({}, [], virgül, iki nokta üst üste, tırnak işaretleri), dört ilkel tür (dize, sayı, boole ve null) ve özyinelemeli iç içe geçme. Bu minimalizm aynı zamanda dezavantajıdır: JSON yorumları, sondaki virgülleri, tırnaksız anahtarları veya çok satırlı dizeleri desteklemez. Yanlış yerleştirilmiş tek bir tırnak veya virgül tüm belgeyi bozar. Bu araç, girdiyi RFC 8259'a (JSON spesifikasyonu) göre doğrular ve ardından okumak için tutarlı girintiyle sunar veya ağ üzerinden iletim için tüm boşlukları kaldırır. Ayrıştırma ve biçimlendirme, JavaScript motorunun yerel JSON.parse ve JSON.stringify işlevleri aracılığıyla tamamen tarayıcınızda çalışır; bu, Node.js sunucularında ve tüm tarayıcılarda çalışan kodun aynısıdır. Bu, verilerinizin asla ağ üzerinden gitmediği ve buradaki doğrulama davranışının üretimde kodunuzun göreceğiyle tam olarak eşleştiği anlamına gelir.

Yaygın kullanım örnekleri

  • API yanıtlarını biçimlendiriciye yapıştırarak hata ayıklayın — küçültülmüş JSON'un gizlediği yapıyı anında görün.

  • Katı bir tüketiciye (AWS CloudFormation, Kubernetes manifest dosyaları vb.) göndermeden önce JSON'u doğrulayın.

  • Tek satırlık JSON üreten yapılandırılmış günlükleme kütüphanelerinin (Pino, Bunyan) günlüklerini biçimli yazdırın.

  • Yapılandırma dosyalarını HTML veya ortam değişkenlerine gömmeden önce küçültün (daha küçük, daha az bayt ayrıştırılır).

  • JSON Web Token yüklerini base64'ten çözdükten sonra biçimlendirin.

  • İki API yanıtını her ikisini de biçimlendirip karşılaştırarak farklarını bulun.

Sıkça sorulan sorular

JSON'um tarayıcıdan çıkar mı?
Hayır. Tüm ayrıştırma ve biçimlendirme, yerleşik JSON.parse ve JSON.stringify işlevleri aracılığıyla tarayıcınızda gerçekleşir. Veriler asla bir sunucuya ulaşmaz veya günlüklerde görünmez. Belirteçler, müşteri verileri veya diğer gizli bilgiler içeren API yanıtlarıyla kullanmak güvenlidir.
JSON5 veya JSONC'yi (yorumlarla) biçimlendirebilir miyim?
Hayır: bu araç katı JSON spesifikasyonunu (RFC 8259) izler. Yorumlar ve sondaki virgüller sözdizimi hatalarıdır ve bir ayrıştırıcı hata mesajı üretir. Esnek JSON çeşitleri için json5.org gibi bir JSON5 ayrıştırıcısı kullanın veya girdinizi önce yorumları kaldıran bir ön işlemciden geçirin.
Hangi girinti boyutunu kullanmalıyım?
2 boşluk, JavaScript ve web'in geleneğidir ve en evrensel olanıdır. 4 boşluk, Python ekosisteminin varsayılanıdır (PEP 8 girintisiyle eşleşir). Sekmeler, editörler arasında tutarsız biçimde temsil edilir ve karşılaştırma araçlarını bozar; ekibinizin katı bir sekme geleneği olmadıkça bunlardan kaçının. Seçim tamamen estetiktir; ayrıştırıcılar umursamaz.
Küçültülmüş JSON neden önemlidir?
Küçültülmüş JSON bayt tasarrufu sağlar; bu da büyük ölçekte önemlidir (örneğin, milyonlarca isteğe 100 KB veri döndüren genel bir API). Küçük yapılandırma dosyaları için (birkaç KB), fark önemsizdir. Tarayıcı ayrıştırma süreleri, biçimlendirilmiş ve küçültülmüş JSON için aynıdır, bu nedenle küçültmenin tek nedeni bant genişliğidir.
Hata mesajlarını nasıl yorumlarım?
JavaScript'in JSON.parse hata mesajları, ayrıştırmanın başarısız olduğu konumu (başlangıçtan kayma) içerir. Yaygın hatalar: 'Unexpected token' genellikle eksik bir tırnak veya virgülü ya da kaçırılmamış bir özel karakteri gösterir. 'Unexpected end of JSON input' belgenin kesildiği anlamına gelir. 'Unexpected non-whitespace character' genellikle sondaki bir virgülü gösterir.
Çok büyük JSON dosyalarını biçimlendirebilir miyim?
Tarayıcının JSON.parse'ı, performans sorunlu hale gelmeden önce yaklaşık 100 MB'a kadar dosyaları işler. Daha büyük dosyalar için komut satırında jq kullanın: keyfi olarak büyük JSON dosyalarını akış halinde işleyebilir.
JSON ile JavaScript nesne değişmezleri arasındaki fark nedir?
JSON, JavaScript nesne değişmezi sözdiziminin katı bir alt kümesidir. Farklar: JSON anahtarları çift tırnak içine alınmış dizeler olmalıdır (JS, tırnaksız anahtarlara ve tek tırnaklara izin verir); JSON yorumları, sondaki virgülleri ve undefined'ı yasaklar; JSON'un ifadeleri, işlev çağrıları veya hesaplanmış değerleri yoktur. JavaScript, JSON'u güvenli bir şekilde değerlendirebilir; JSON, keyfi JavaScript'i değerlendiremez.

İlgili araçlar