JSON Nasıl Düzenlenir ve Doğrulanır?
Okunmaz JSON'u okunur hale getir, sözdizimi hatasının satırını bul ve en sık yapılan hataları düzelt.
4 dk okuma
JSON her yerde: API yanıtları, yapılandırma dosyaları, uygulama dışa aktarımları, log satırları. Makineler onu genelde boşluksuz, tek ve uzun bir satır olarak yazar; bu verimlidir ama okunmaz. JSON ayrıca katıdır: Tek bir eksik ya da fazla virgül bütün veriyi geçersiz kılar. Biçimlendirme ilk sorunu, doğrulama ikinci sorunu çözer.
Biçimlendirme ve doğrulama ne demek?
- Biçimlendirme (güzelleştirme), satır sonları ve girinti ekler. Her anahtar kendi satırında durur, iç içe yapı bir bakışta görünür.
- Küçültme (minify) tam tersini yapar: Gereksiz tüm boşlukları siler ve veriyi olabildiğince küçültür, örneğin bir ayar değerine yapıştırmadan önce.
- Doğrulama, metnin JSON kurallarına uyup uymadığını kontrol eder. Biçimlendirici veriyi önce ayrıştırmak zorunda olduğu için doğrulamayı da kendiliğinden yapar.
QodeCat ile JSON nasıl düzenlenir?
JSON Düzenleyici ve Doğrulayıcı tamamen tarayıcında çalışır. Token ya da müşteri bilgisi içeren API yanıtlarını bile hiçbir yere göndermeden yapıştırabilirsin.
- JSON'u Ham Girdi alanına yapıştır ya da Yükle ile bir .json dosyası aç. Yüklenen dosyalar hemen biçimlendirilir.
- İki boşluk girintiyle düzenlemek için Güzelleştir, tek satıra indirmek için Küçült düğmesine bas. Sonuç girdinin yerine geçer ve sağda renklendirilmiş olarak, Geçerli işaretiyle görünür.
- Araç çubuğunda verinin boyutu ve en üst düzeydeki anahtar sayısı yazar.
- Sonucu kopyalama ve indirme düğmeleriyle al. İndirilen dosyanın adı formatted_data.json olur.
JSON bozuksa, tarayıcının hata mesajıyla birlikte bir Geçersiz JSON kutusu çıkar. Girdin olduğu gibi kalır, böylece düzeltebilirsin.
Hata mesajını okumak
Hata mesajı tarayıcıdan gelir ve genellikle İngilizcedir. Expected double-quoted property name in JSON at position 12 (line 3 column 1) gibi bir mesaj, ayrıştırıcının nerede takıldığını söyler; hatanın tam yerini her zaman değil. Bu örnekte asıl sorun 2. satırın sonundaki fazladan virgüldür, ayrıştırıcı bunu ancak kapanış parantezine geldiğinde fark eder. Bildirilen satıra ve hemen öncesine bak.
JSON'u en sık bozan hatalar
- Sondaki virgül: {"a": 1,} ya da [1, 2,]. JavaScript buna izin verir, JSON vermez.
- Tek tırnak: {'ad': 'Ada'}. Anahtarlar ve metinler çift tırnak kullanmalı.
- Tırnaksız anahtarlar: {ad: "Ada"}. Her anahtar çift tırnak içinde bir metin olmalı.
- Öğeler arasında eksik virgül; genelde farklı yerlerden satır kopyalayınca olur.
- Yorumlar (// veya /* */). Standart JSON'da yorum yoktur, sil.
- Yalnızca JavaScript'te olan değerler: undefined, NaN, Infinity ya da fonksiyonlar.
- Kelime işlemciden veya mesajlaşma uygulamasından gelen kıvrık tırnaklar (“ ”).
Biçimlendirmeden önce bilmen gereken üç şey
- Tekrarlanan anahtarlar sessizce birleşir. Bir nesnede aynı anahtar iki kez varsa, biçimlendirmeden sonra yalnızca sonuncusu kalır.
- Çok büyük tam sayılar hassasiyet kaybeder. 9.007.199.254.740.991'den büyük sayılar, örneğin bazı 64 bitlik kimlikler, yuvarlanır: 12345678901234567890, 12345678901234567000 olur. Bu tür kimlikleri metin olarak sakla.
- Tam sayıya benzeyen anahtarlar başa geçer. {"b": 1, "2": 0} biçimlendirilince "2" önce gelir. Diğer anahtarların sırası korunur.
Benzer işler için: Tabloları CSV'den JSON'a çevir, yapılandırma biçimlerini YAML ↔ JSON ile değiştir ya da örnek veriden JSON'dan TypeScript'e ile tip üret.
Sık sorulan sorular
Biçimlendirme verimi değiştirir mi?
Normalde yalnızca boşluklar değişir. Anahtarlar ve değerler aynı kalır; istisnalar yukarıdaki üç durumdur: tekrarlanan anahtarlar, JavaScript için fazla büyük tam sayılar ve başa geçen sayı benzeri anahtarlar.
Yorum içeren JSON'u biçimlendirebilir miyim?
Doğrudan hayır. Yorumlar geçerli JSON değildir, doğrulayıcı hata verir. Önce yorumları sil, sonra biçimlendir.