KeroTools

JSON Biçimlendir, Doğrula ve Küçült

JSON'u tarayıcınızda anında biçimlendirin, doğrulayın veya küçültün — sonuçlar yazarken canlı güncellenir.

Giriş
0 karakter
Çıktı

Metniniz cihazınızda kalır

Sonradan silinecek bir şey yok

Canlı yanıtlar için güvenli

Her modern tarayıcıda çalışır

Nasıl çalışır

  1. 1

    JSON’unuzu yapıştırın

    Bir yanıtı, bir yapılandırma dosyasını ya da size verilen herhangi bir şeyi bırakın.

  2. 2

    Sonucu ya da hatayı okuyun

    Geçerli girdi girintili döner; geçersiz girdi durduğu konumu size söyler.

  3. 3

    İhtiyacınız olanı kopyalayın

    Okunur sürümü bir incelemeye, sıkıştırılmışı bir isteğe taşıyın.

Neden bu araç

Hata size yerini söyler

Geçersiz bir belge, başarısız olduğu konumu bildirir; böylece bütün yükü yeniden okumak yerine bir satırı düzeltirsiniz.

Hem güzelleştirme hem sıkıştırma

Okumak için girintileyin, göndermek için sıyırın — aynı veri, anın gerektirdiği biçimde.

Büyük tam sayılar bozulmaz

JavaScript’in güvenli tam sayı aralığını aşan kimlikler yol boyunca sessizce yuvarlanmaz.

Anahtar sırası korunur

Biçimlendirme yapıyı değil boşlukları değiştirir; imzalanmış ya da bayt bazında karşılaştırılan bir yük sağ kalır.

Hiçbir şey yüklenmez

Metin tarayıcınızda ayrıştırılır — belirteç taşıyan bir API yanıtı sekmeden hiç çıkmaz.

Ücretsiz, hesapsız

Kayıt yok, filigran yok, ne kadar biçimlendireceğinize dair sınır yok.

Buraya girinti için gelmediniz

İnsanlar “şu JSON’u biçimlendir” der ve başka bir şey kasteder. Girinti hoştur, ama onu yapıştırma nedeniniz, aşağıdaki bir şeyin onu reddetmesi, hiçbir şey döndürmemesi ya da beklemediğiniz bir değer üretmesidir; başka hiçbir yere bakmadan önce belgenin geçerli olup olmadığını bilmeniz gerekir. Bir biçimlendiricinin gerçekten yanıtladığı budur. Geçerli girdi girintili döner ve girinti sizin onayınızdır. Geçersiz girdi bir konumla döner ve o konum asıl üründür. Geri kalan her şey — aralık, katlanabilir ağaç, renkler — okumaya değer olduğunu zaten saptadığınız bir belgeyi okumanıza yardım etmek için oradadır.

Hata neredeyse hiçbir zaman iletinin söylediği yerde değildir

Bir ayrıştırıcı, anlamlandıramadığı ilk karakteri bildirir; bu genellikle hatanın kendisinde değil, biraz sonrasındadır. İki nesne arasında virgülü atlayın, ayrıştırıcı bir sonrakinin açılış kaşlı ayracına dek keyifle okur, sonra orada beklenmeyen bir belirteç bildirir — tümüyle doğru olan bir satırı işaret ederek. Sonda fazladan virgül bırakın, ardından gelen kapanış ayracını bildirir. Bir kapanış ayracını unutun, belgenin ta sonunu bildirir ki bu size neredeyse hiçbir şey söylemez. Edinilmeye değer alışkanlık, bildirilen konumu hedef değil sınır olarak okumaktır: sorun onda ya da ondan öncededir ve iletide adı geçen belirteç, ayrıştırıcıyı pes ettiren masum tanıktır. Hemen öncesine bakın.

JavaScript’te geçerli, JSON’da geçersiz dört şey

“Ama bana doğru görünüyor”un en büyük tek kaynağı budur. JSON, benzediği JavaScript nesne değişmezlerinden çok daha küçük bir dildir ve dört gündelik alışkanlık, tarayıcı konsolunun kabul ettiği, ayrıştırıcının reddettiği belgeler üretir. Sondaki virgüller en yaygınıdır — `{"a": 1,}` modern JavaScript’te sorunsuz, JSON’da yasadışıdır. Tek tırnak ikinci sırada: anahtarlar ve dizeler her zaman çift tırnak kullanmalıdır. Tırnaksız anahtarlar üçüncüdür; `{name: "x"}` başarısız olur, `{"name": "x"}` çalışır. Yorumlar dördüncüdür — JSON’da yoktur, dolayısıyla bir yapılandırma değerini açıklayan bir `//` satırı bütün dosyayı geçersiz kılar. Belge elle yazıldıysa ya da koddan kopyalandıysa, her şeyden önce bu dördünü denetleyin; insanların yapıştırdığı geçersiz JSON’un çoğunu bunlar açıklar.

Gidip gelmenin veri yitirdiği yer büyük sayılardır

İncelikli olan budur ve insanlara gerçek zaman kaybettirir. JSON’un tek bir sayı türü ve bildirilmiş bir kesinlik sınırı yoktur, ama JSON’u JavaScript’te ayrıştıran her şey o sayıları çift duyarlıklı olarak saklar ve bunlar tam sayıları ancak yaklaşık dokuz katrilyona — 2^53 — dek tam temsil eder. Ötesinde basamaklar yiter. Bunun önemi, pek çok sistemin tanımlayıcıları tam da bu aralıkta üretmesidir: sohbet platformlarının snowflake kimlikleri, bazı veritabanı dizileri ve nanosaniye zaman damgaları hep 18 ve 19 basamaklı tam sayılar üretir. Böyle bir belgeyi safça ayrıştırıp yeniden yazın; son basamaklar hâlâ akla yatkın bir kimlik gibi görünen bir değerde sessizce değişir. Yükünüz uzun sayısal tanımlayıcılar taşıyorsa onları baştan sona dize olarak taşıyın ve onları söylemeden JavaScript sayıları üzerinden gezdiren hiçbir araca güvenmeyin.

Güzelleştirme ve sıkıştırma farklı sorulara yanıt verir

Aynı veriyi üretirler ve karşıt anlarda işe yararlar. Güzelleştirilmiş JSON insan içindir: bir API yanıtını incelemek, bir yapılandırmayı denetlemek ya da — en yararlısı — iki sürümü karşılaştırmak; çünkü bir farkı okunur kılan şey değer başına satır biçimidir. Sıkıştırılmış JSON tel ve makine içindir: anlam taşımayan her baytı sıyırır ki bu bir istek gövdesinde, bir önbellek girdisinde ya da yük boyutunun sayıldığı her yerde önemlidir. Kaçınmaya değer hata, sıkıştırılmış belgeleri karşılaştırmaktır. Tek bir değerde ayrışan iki sıkıştırılmış dosya, o devasa tek satırlarında ayrışır ve her karşılaştırma aracı tümünü değişmiş olarak bildirir. Önce ikisini de güzelleştirin, sonra karşılaştırın; fark size gerçekten kımıldayan tek alanı gösterir.

Bu tür metinde yerel biçimlendirme neden önemlidir

İnsanların bir biçimlendiriciye yapıştırdığı JSON neredeyse her zaman canlıdır: hata ayıklarken yakalanmış bir API yanıtı, bir webhook gövdesi, bir yapılandırma dosyası, bir belirteç yükü. Yani canlı verinin taşıdığı şeyleri taşır — bir başlık yankısındaki taşıyıcı belirteçler, oturum kimlikleri, dahili adresler, müşteri e-postaları ve ara sıra bir yapılandırma bloğundaki kimlik bilgileri. Bunu barındırılan bir biçimlendiriciye yapıştırmak her baytını başkasının sunucusuna gönderir ve işaret edebileceğiniz bir dosyanın tersine, yapıştırılan metin bunu yaptığınıza dair iz bırakmaz. Bu araç sayfada ayrıştırır: hiçbir şey iletilmez ve bunu geliştirici araçlarının Ağ sekmesinde doğrulayabilirsiniz. Bu kadar sık hassas olan ve bu kadar rahatça yapıştırılan bir metin için varsayılan olarak sahip olunmaya değer fark budur.

Kaçınılması gereken yaygın hatalar

  • Bildirilen hata konumuna güvenmek. Ayrıştırıcı, işleyemediği ilk belirteci adlandırır ve bu genellikle asıl hatanın hemen sonrasıdır — konumu bir sınır olarak okuyun ve hemen öncesine bakın.
  • JSON’u JavaScript alışkanlıklarıyla yazmak. Sondaki virgüller, tek tırnak, tırnaksız anahtarlar ve `//` yorumları JavaScript’te geçerli, JSON’da geçersizdir; her şeyden önce bu dördünü denetleyin.
  • Uzun sayısal kimlikleri gidip getirmek. Yaklaşık dokuz katrilyonu aşan her şey JavaScript sayısı olarak ayrıştırıldığında son basamaklarını yitirir ve sonuç hâlâ akla yatkın bir tanımlayıcı gibi görünür — onları dize olarak taşıyın.
  • Sıkıştırılmış JSON’u karşılaştırmak. Her iki dosya da tek devasa bir satırdır, bu yüzden her araç bütün belgeyi değişmiş sayar; önce ikisini de güzelleştirin ki fark kımıldayan tek alanı göstersin.
  • Canlı bir API yanıtını barındırılan bir biçimlendiriciye yapıştırmak. O yükler düzenli olarak belirteçler, oturum kimlikleri ve müşteri adresleri taşır; bunun yerine yerel biçimlendirin.

Karşılaştırma

ÖlçütBu araçÇevrimiçi biçimlendiricilerBir düzenleyici eklentisi
İçerik sunucuya gönderilirAslaGenellikle evetHayır
Kurulum gerekirYokYokKur ve yapılandır
Konumu doğru hatalarEvetDeğişirEvet
Proje açmadan çalışırEvetEvetGenellikle hayır
Hesap veya kayıtGerekmezSık sık istenirGerekmez
FiyatÜcretsizÜcretsiz / ücretli paketÜcretsiz / ücretli

Özellikler

Yapıştırınca doğrulama

Onunla başka bir şey yapmadan önce ayrıştırılıp ayrıştırılmadığını öğrenirsiniz.

Konumu doğru hatalar

Başarısızlık, bir şeyin yanlış olduğunu değil, ayrıştırıcının nerede durduğunu bildirir.

Ayarlanabilir girinti

İki boşluk, dört ya da sekme — dosyanın geri döneceği yere uyacak biçimde.

Tek adımda sıkıştırma

Boşluklar sıyrılır ve aynı veri kaplayabileceği en küçük yükü kaplar.

Unicode korunur

Arapça, Türkçe, şapkalı harfler ve emoji içerik değişmeden geçer.

Büyük belgeleri kaldırır

Birkaç megabaytlık yükler yükleme ya da kuyruk olmadan biçimlenir.

Kurulum gerekmez

Düzenleyici eklentisi, çalışma ortamı ya da bağımlılık yok — web sayfasında çalışır.

Arapça ve RTL uyumlu

Sağdan sola Arapça dahil sekiz dilde tam arayüz.

Varsayılan olarak güvenli

HTTPS üzerinden sunulur, içerik izleme ve üçüncü tarafa yükleme yoktur.

Kimler kullanıyor

Geliştiriciler

Bir yanıtın nerede kırıldığını, önce bir karalama dosyasına atmadan bulmak.

API entegratörleri

Bir iş ortağının uç noktasından gelen yükü, ona karşı kod yazmadan önce okumak.

Test mühendisleri

İkisini de güzelleştirdikten sonra iki yanıtı alan alan karşılaştırmak.

Destek mühendisleri

Müşterinin verdiği bir yapılandırmayı, nesi yanlış olduğunu görecek kadar okunur kılmak.

Sıkça Sorulan Sorular

Hayır. Her şey tarayıcınızda yerel çalışır — metniniz asla yüklenmez, saklanmaz veya paylaşılmaz.

Evet — tamamen ücretsiz, hesap ve sınır yok.