JSON biçimlendirici ne yapar?

Araç, yapıştırdığınız metni kendi yazdığımız katı bir JSON ayrıştırıcısıyla okur. Metin geçerliyse seçtiğiniz girintiyle (2 boşluk, 4 boşluk veya sekme) yeniden yazar ya da tüm boşlukları atarak tek satıra küçültür. İsterseniz nesne anahtarlarını her düzeyde alfabetik sıraya dizer. Geçersizse ilk hatanın satırını, sütununu ve hatalı satırın altında bir işaretçi (^) gösterir.

API yanıtını okumaya çalışan geliştiriciler, bir yapılandırma dosyasındaki virgül hatasını arayanlar ve SEO için yapılandırılmış veri hazırlayanlar için tasarlandı. Schema.org işaretlemesinin içeriğini denetlemek isterseniz sözdizimini burada düzelttikten sonra JSON-LD doğrulayıcı ile devam edebilirsiniz.

Nasıl kullanılır?

  • JSON metnini sol alana yapıştırın veya en fazla 5 MiB'lık bir .json dosyası açın.
  • 256 KiB'a kadar olan girdiler yazarken 150 ms gecikmeyle doğrulanır; daha büyük girdilerde sayfa takılmasın diye işlem yalnızca “Biçimlendir” düğmesiyle çalışır.
  • Çıktı biçimini seçin: 2 boşluk, 4 boşluk, sekme ya da küçültülmüş (minify). Anahtarları sıralamak için kutuyu işaretleyin.
  • Hata varsa kırmızı kutudaki satır:sütun bilgisine ve işaretçinin gösterdiği karaktere bakın, düzeltin; sonuç kendiliğinden yenilenir.
  • Sonucu kopyalayın veya formatted.json / minified.json olarak indirin. Paylaşım bağlantısına girdiyi yalnızca kutuyu işaretlerseniz ve metin kısaysa ekleyebilirsiniz.

Doğrulama kuralları (RFC 8259)

Ayrıştırıcı bilinçli olarak hoşgörüsüzdür: JSON5, JavaScript nesne sözdizimi veya yorumlu yapılandırma biçimleri kabul edilmez; her biri anlaşılır bir hata mesajıyla reddedilir. Boşluk olarak yalnızca boşluk, sekme, satır besleme ve satır başı sayılır. Dizelerde kaçışsız kontrol karakteri (örneğin gerçek bir satır sonu) bulunamaz; geçerli kaçışlar ters eğik çizgiden sonra ", \, /, b, f, n, r, t ve dört onaltılık basamaklı u biçimidir.

GirdiSonuç
{"a": 1,}Sondaki virgül hatası; işaretçi virgülü gösterir
{a: 1} veya {'a': 1}Tırnaksız anahtar veya tek tırnak hatası
// not ya da /* not */JSON yorum desteklemez
NaN, Infinity, -InfinityJSON'da geçerli sayı değildir
012, 1., .5, +1, 0x1FGeçersiz sayı biçimi
{} {}Değerden sonra fazladan içerik

Sütun numarası kod noktası olarak sayılır; bir emoji tek sütun tutar. Windows (CRLF), Unix (LF) ve eski Mac (CR) satır sonlarının her biri tek satır sonu sayılır. Dosyanın başındaki UTF-8 BOM karakteri RFC 8259'un izin verdiği gibi yok sayılır ve bir uyarıyla bildirilir.

Büyük sayılar ve yinelenen anahtarlar

Tarayıcıdaki JSON.parse sayıları 64 bit kayan noktalı değerlere çevirir; 9007199254740993 gibi 2^53'ten büyük tamsayılar ve 17'den fazla anlamlı basamağı olan ondalıklar sessizce yuvarlanır. Bu araç sayıları hiç dönüştürmez: çıktıya kaynakta yazıldığı karakterlerle aynen aktarır ve kaç sayının başka ayrıştırıcılarda hassasiyet kaybedebileceğini uyarıyla belirtir. Dizeler de kaçışlarıyla birlikte olduğu gibi korunur.

RFC 8259 bir nesnedeki anahtarların benzersiz olmasını önerir ama zorunlu kılmaz; yinelenen anahtar içeren metin sözdizimsel olarak geçerlidir. Farklı kütüphaneler ilk ya da son değeri seçtiği için araç her yinelenen anahtarın konumunu ve ilk görüldüğü satırı uyarı olarak listeler; biçimlendirmede iki üyeyi de korur.

Örnek ve yorum

“Örnek” düğmesi şu küçültülmüş girdiyi yükler:

{"ürün":"Çay bardağı","fiyat":149.90,"stok":true,"etiketler":["mutfak","cam"],"siparisNo":90071992547409931,"fiyat":129.90}

Metin geçerli bir nesnedir; 2 boşluk girintiyle her üye ayrı satıra yazılır. fiyat anahtarı iki kez geçtiği için satır ve sütunuyla bir yinelenen anahtar uyarısı çıkar. siparisNo değeri JavaScript'te yuvarlanır ve JSON.stringify ile 90071992547409940 olarak geri yazılırdı; araç son basamağı koruyarak 90071992547409931 yazar ve bunu bir hassasiyet uyarısıyla belirtir. 149.90 da 149.9 olmaz, sondaki sıfır yerinde kalır. Aynı girdinin sonuna bir virgül eklerseniz sonuç “geçersiz” olur ve işaretçi o virgülü gösterir.

Sınırlar ve gizlilik

  • En fazla 5 MiB girdi ve 256 iç içe nesne/dizi düzeyi; aşımda metin kırpılmaz, açık hata verilir.
  • Yalnızca ilk sözdizimi hatası raporlanır; düzelttikçe sonraki hata görünür.
  • Araç JSON Schema doğrulaması yapmaz; alanların anlamını, zorunluluğunu veya türünü denetlemez.
  • Ağaç görünümü yoktur; çıktı düz metindir.
  • Girdi, dosya ve çıktı yalnızca tarayıcınızda işlenir; sunucuya gönderilmez, depolamaya yazılmaz. API anahtarı veya kişisel veri içeren metni paylaşım bağlantısına eklemeyin: bağlantıyı alan herkes içeriği okuyabilir.

Sık sorulan sorular

Yorum veya sondaki virgül neden hata veriyor?

Standart JSON (RFC 8259) ikisine de izin vermez. JSON5 ve bazı yapılandırma biçimleri kabul eder, ancak API'ler ve çoğu ayrıştırıcı reddeder; araç bu yüzden bunları hata olarak işaretler.

Büyük sayılarım değişir mi?

Hayır. Sayılar yazıldığı karakterlerle aynen çıktıya aktarılır; 0.10 ya da 20 basamaklı bir kimlik yuvarlanmaz. Başka bir ayrıştırıcıda hassasiyet kaybı olabilecekse uyarı gösterilir.

Anahtarları sıralamak veriyi değiştirir mi?

Değerler aynı kalır, yalnızca nesne üyelerinin sırası değişir. Sıralama UTF-16 kod birimine göre yapılır; yinelenen anahtarlar kendi aralarındaki sırayı korur. Dizilerin sırasına dokunulmaz.

JSON'um bir sunucuya gönderiliyor mu?

Hayır. Ayrıştırma ve biçimlendirme tamamen tarayıcınızda çalışır; ağ isteği yapılmaz. Yalnızca paylaşım bağlantısına girdiyi eklemeyi seçerseniz metin bağlantının içinde yer alır.

Base64 içindeki JSON'u nasıl okurum?

Önce Base64 dönüştürücü ile metni çözün, ardından çıkan JSON'u buraya yapıştırın. JWT gibi URL-safe Base64 kullanan değerler de o araçta çözülebilir.

Yayın: · Güncelleme: