JSON online nasıl formatlanır? Örnekler ve hata çözümleri
JSON verisini tarayıcıda biçimlendirin, hatalı virgül ve tırnakları düzeltin; büyük sayılar, yinelenen anahtarlar ve şema doğrulaması sınırlarını öğrenin.
Yazar: Ali Aygör
JSON formatlayıcıyı açFormatlama ne yapar?
Bir API yanıtı veya webhook gövdesi tek satır geldiğinde nesne ve dizi sınırlarını okumak zorlaşır. JSON biçimlendirme, geçerli belgeyi ayrıştırıp girinti ve satır sonlarıyla yeniden yazar. Amaç alanları dönüştürmek değil, yapıyı incelemeyi kolaylaştırmaktır.
Girişin tamamını saklayın. Bu sitedeki araç JavaScript ayrıştırıcısını kullandığı için yinelenen anahtarlar ve çok büyük sayılar yeniden yazma sırasında değişebilir. Özellikle ödeme, kimlik ve imzalı veri incelemelerinde biçimlendirilmiş çıktıyı ham belgenin yerine koymayın.
JSON tarayıcıda nasıl düzenlenir?
- İstek veya yanıtın tam JSON gövdesini alın. HTTP başlığı, log zaman damgası ve kesilme işaretlerini belgeye dahil etmeyin.
- Etkin token, parola ve müşteri bilgilerini maskeleyip JSON formatlayıcıya yapıştırın.
- Format işlemini çalıştırın. Hata alırsanız konumun çevresindeki tırnak, virgül ve parantezleri kontrol edin.
- Alanların iç içe yapısını, dizileri, boş değerleri ve beklenen türleri inceleyin. Gerekirse JSON doğrulayıcıyla sözdizimini tekrar kontrol edin.
- Sonucu ham veriyle karşılaştırıp kopyalayın. Küçültülmüş çıktı gerekiyorsa Minify işlemini kullanın.
Örnek: iç içe sipariş yanıtı
Giriş:
{"order":{"id":"9007199254740993","items":[{"sku":"A1","quantity":2}]},"paid":false}Beklenen okunabilir çıktı:
{
"order": {
"id": "9007199254740993",
"items": [
{
"sku": "A1",
"quantity": 2
}
]
},
"paid": false
}Burada id bilinçli olarak metindir. JavaScript güvenli tam sayı sınırını aşan bir sayısal kimliği tırnaksız ayrıştırmak hassasiyet kaybına yol açabilir. paid alanı boolean false değeridir; "false" metniyle aynı tür değildir.
Sık görülen hatalar nasıl çözülür?
{"active":true,} sondaki virgül nedeniyle geçersizdir. Doğru biçim {"active":true} olur. Anahtar ve metinlerde çift tırnak gerekir; tek tırnak ve yorum satırları standart JSON değildir.
Yanıt <html ile başlıyorsa muhtemelen bir giriş veya hata sayfası almışsınızdır. Önce HTTP durumunu ve Content-Type başlığını inceleyin. Gövde kesilmişse parantez ekleyerek gerçek yanıtı tahmin etmek yerine tam yanıtı yeniden yakalayın.
Belge fazladan kaçış karakterleriyle bir metin içine sarılmışsa üreticinin sözleşmesini kontrol edin. JSON.parse sonucunun metin olması, her durumda tekrar ayrıştırma yapılması gerektiği anlamına gelmez. Rastgele ters eğik çizgi silmek geçerli veriyi bozabilir.
Doğrulamanın sınırları
Geçerli JSON, geçerli API isteği demek değildir. Örneğin {"quantity":"2"} sözdizimsel olarak geçerlidir; sözleşme sayısal quantity bekliyorsa yanlıştır. Zorunlu alan, tür ve sınır kontrolü için JSON Schema doğrulayıcıyı kullanın.
Aynı nesnede yinelenen anahtarların sonuncusu korunabilir. Formatlama kriptografik imza kontrolü yapmaz; boşluk ve anahtar sırası değişiklikleri ham baytlara dayanan imzaları etkileyebilir. Hata kaydında hem özgün belgeyi hem kullanılan işlemi belirtin.