JSON doğrulayıcı & güzelleştirici
Temiz ve okunabilir JSON verileri için JSON doğrulayıcı ve güzelleştirici aracımızla JSON içeriğinizi doğrulayın ve güzelleştirin.

JSON doğrulayıcı & güzelleştirici, JSON verilerinin söz dizimi açısından geçerli olup olmadığını kontrol eden ve geçerli içeriği daha kolay okunacak şekilde biçimlendiren ücretsiz bir araçtır.
JSON doğrulama ve güzelleştirme ne işe yarar?
JSON doğrulama, girilen içeriğin JSON dil bilgisi kurallarına uyup uymadığını kontrol eder. Güzelleştirme ise geçerli nesne ve dizileri tutarlı boşluklar ve girintilerle düzenler. Bu işlem API yanıtlarında hata ayıklarken, yapılandırmayı dağıtımdan önce kontrol ederken veya üçüncü tarafların sağladığı sıkıştırılmış verileri incelerken kullanışlıdır.
JSON söz dizimi, JavaScript nesne sabitlerinden daha katıdır. Özellik adları çift tırnak içinde yazılmalı, dizelerde tek tırnak kullanılmamalı ve nesnelerle dizilerin sonunda fazladan virgül bulunmamalıdır. Yorumlar, undefined, NaN ve Infinity de JSON standardının dışındadır.
Bu araç sunucuda PHP'nin json_decode işlevini kullanır. Girdiğin içerik HTTPS üzerinden sunucuya gönderilir ve saklanmaz. Ancak cihazından çıktığı için kuruluşunun veri işleme kuralları bilgilerin harici bir sunucuya gönderilmesine izin vermiyorsa parolaları, erişim belirteçlerini ve kişisel verileri gizle.
JSON nasıl doğrulanır ve güzelleştirilir?
İçeriği JSON alanına yapıştır ve aracı çalıştır. Anlamlı bir sonuç almak için günlük satırından kopyalanmış eksik bir nesne parçası yerine tek ve eksiksiz bir JSON değeri kullan.
- Ham yanıtı, yapılandırma bloğunu veya başka bir JSON değerini, çevresindeki konsol etiketlerini almadan kopyala.
- Tırnak işaretlerini ve kaçış karakterlerini koruyarak JSON alanına yapıştır.
- Doğrulamayı çalıştır, ardından biçimlendirilmiş sonucu veya bildirilen hatayı incele.
- Doğrulama başarısız olursa görünen ilk söz dizimi hatasını düzeltip aracı yeniden çalıştır. Eksik tek bir tırnak işareti, sonraki birçok karakterin yanlış yorumlanmasına yol açabilir.

JSON belirteçleri arasında kullanılabilen dört boşluk karakteri, boşluk (U+0020), sekme (U+0009), satır besleme (U+000A) ve satır başı (U+000D), verinin anlamını etkilemez. Bu nedenle veri değişmeden eklenebilir veya kaldırılabilirler. Tırnak içindeki bir dizede bulunan boşluk ise verinin parçasıdır ve değiştirilmemelidir. Dizelerin içindeki noktalama işaretleri de korunur, ancak tırnak işaretleri, ters eğik çizgiler ve kontrol karakterleri uygun kaçış dizileriyle yazılmalıdır.
Doğrulama sonucu nasıl yorumlanır?
Başarılı sonuç, PHP'nin girdiyi JSON olarak çözümleyebildiği anlamına gelir. Başarısız sonuç ise ayrıştırıcının girdiyi eksiksiz ve geçerli tek bir JSON değeri olarak yorumlayamadığını gösterir. Güzelleştirme işlemi, geçerli nesne ve dizilerin iç içe yapısını ve sınırlarını görünür hâle getirir.
Yaygın hata nedenleri şunlardır:
- } veya ] işaretinden önce fazladan virgül bulunması;
- {name: "Ada"} örneğindeki gibi özellik adının tırnak içine alınmaması;
- tek tırnaklı dizeler kullanılması;
- özellikler veya dizi öğeleri arasında virgülün eksik olması;
- dize içindeki çift tırnak işaretinin veya ters eğik çizginin kaçış karakteriyle yazılmaması;
- nesnenin, dizinin veya dizenin eksik olması;
- geçersiz UTF-8 girdisi ya da dize içinde ham kontrol karakteri bulunması;
- 01 veya -01 gibi tam sayı kısmının gereksiz sıfırlarla başlaması ya da NaN gibi JSON kapsamında olmayan değerlerin kullanılması.
Boş alan geçerli JSON değildir. Buna karşılık 42, true, null veya "hello" gibi tek başına kullanılan bir değer, nesne ya da dizi olmasa bile geçerli JSON'dur. Çok fazla iç içe geçmiş içerik de kod çözücünün iç içe geçme sınırını aşabilir.
Söz dizimi doğrulaması, verilerin bir API sözleşmesine uygun olduğunu göstermez. Bir belge geçerli JSON olabilir, ancak uygulamanın sayı beklediği yerde dize içerebilir, zorunlu bir özelliği atlayabilir veya kabul edilmeyen bir tarih biçimi kullanabilir. Bu tür gereksinimleri denetlemek için JSON Schema ya da uygulama düzeyinde kontroller kullan.

Uygulamalı JSON örnekleri
Geçerli ve sıkıştırılmış girdi:
{"name":"Ada","active":true,"roles":["admin","editor"]}
Güzelleştirilmiş sonuçta özellikler ve dizi öğeleri ayrı, girintili düzeylerde gösterilir. Değerler sırasıyla dize, Boolean ve dizi olarak kalır. Biçimlendirme yalnızca görünümü değiştirir, temel veri türlerini değiştirmez.
Sonunda fazladan virgül bulunan geçersiz girdi:
{"name":"Ada","active":true,}
JSON, son özellikten sonra virgüle izin vermediği için bu girdi doğrulamadan geçmez. Nesneyi geçerli hâle getirmek için bu virgülü kaldır.
Girdi geçerli UTF-8 olduğunda aksanlı ve Latin alfabesi dışındaki metinler doğrudan JSON dizelerinde kullanılabilir. Örneğin {"city":"Zürich","greeting":"こんにちは"} geçerlidir. \u00fc gibi JSON kaçış gösterimleri de belirli Unicode karakterlerinin geçerli bir başka gösterimidir. Ancak Temel Çok Dilli Düzlem'in dışındaki karakterler için vekil çiftler gerekir.
JSON'u güzelleştirmek hangi durumlarda gereksizdir?
JSON'u yalnızca bir makine okuyacaksa ve insanlar tarafından incelenmesi veya sürüm kontrolünde gözden geçirilmesi planlanmıyorsa güzelleştirme gereksizdir. Ek girintiler ve satır sonları aktarılan bayt sayısını artırır. Bu nedenle üretim ortamındaki yanıtlar genellikle sıkıştırılmış biçimde gönderilir.
Zaten sıkıştırılmış JSON'u daha da küçültmenin de pek faydası yoktur. Küçültme işlemini tekrarlamak, sabit özellik adlarını veya dize değerlerini kısaltamaz. Bu değerleri değiştirmek ise veriyi değiştirir. JSON verisi yerine dağıtıma hazır JavaScript üzerinde çalışıyorsan daha uygun araç JS küçültücüdür.
Güzelleştirme en çok hata ayıklama, kod inceleme ve dağıtım öncesi kontroller sırasında JSON yapılarını veya değerlerini incelerken işe yarar. Uyuşmayan iç içe yapıları görünür kılar, büyük dizilerin daha kolay taranmasını sağlar ve yapılandırma Git'e kaydedildiğinde daha temiz fark çıktıları oluşturur. Hatalı JSON'u otomatik olarak onarmaz veya belirsiz bir parçayla ne anlatılmak istendiğine karar vermez.
Sık sorulan sorular
JSON içinde yorum kullanılabilir mi?
Hayır. Standart JSON'da yorum söz dizimi yoktur. Bu nedenle // comment ve /* comment */ doğrulamanın başarısız olmasına yol açar. Bir yapılandırma dosyasında yorumlara ihtiyacın varsa yorumları destekleyen bir biçim kullan veya içeriği katı bir JSON ayrıştırıcısına vermeden önce yorumları kaldır.
Aynı özellik adı birden fazla kez kullanılırsa hata verir mi?
Her zaman değil. JSON standardı, bir nesnedeki üye adlarının benzersiz olması gerektiğini belirtir. Ancak yinelenen adlar ayrıştırıcılar tarafından her zaman söz dizimi hatası olarak değerlendirilmez. PHP ile kod çözme işleminde genellikle sonraki değer korunur. Her tekrarın korunması önemliyse yinelenen adları doğrulamadan önce tespit et.
JSON Lines dosyasını doğrulayabilir miyim?
Tek bir JSON belgesi olarak doğrulayamazsın. NDJSON olarak da adlandırılan JSON Lines biçiminde her satır ayrı bir JSON değeri içerir. Normal bir JSON ayrıştırıcısı ise üst düzeyde tek bir değer bekler. Her satırı ayrı ayrı doğrula veya kayıtları tek bir JSON dizisine dönüştür.
JSON nesnesindeki özelliklerin sırası önemli mi?
Uygulamalar JSON nesnelerindeki özellik sırasına güvenmemelidir. Diziler sıralıdır, ancak nesneler adlandırılmış üyelerin koleksiyonunu temsil eder. Başka bir ayrıştırıcı veya serileştirici bu üyeleri farklı bir sırada çıkarabilir. Sıra anlam taşıyorsa değerleri bir diziye yerleştir.
Doğru görünen bir JSON dosyası neden doğrulamadan geçmez?
Görünmeyen bir bayt sırası işareti, bozuk UTF-8 veya kaçış karakteriyle yazılmamış bir kontrol karakteri, doğru görünen metnin doğrulamadan geçmemesine neden olabilir. Terminalden kopyalama işlemi de durum etiketleri veya zaman damgaları gibi ön ekler ekleyebilir. Ham baytları incele ya da dosyayı kodlamayı ve kontrol karakterlerini gösterebilen bir düzenleyicide aç.
Son kontroller
Düzeltilmiş JSON'u dağıtmadan önce görünür değerlerin yanı sıra veri türlerini de karşılaştır, kaçış dizilerinin değişmediğinden emin ol ve veriyi kullanacak uygulamayı veya uygulamanın şema doğrulamasını çalıştır. Üçüncü taraf verilerindeki sorunları incelerken biçimlendirmenin hatanın kaynağını gizlememesi için özgün yanıtın değiştirilmemiş bir kopyasını sakla.
Popüler araçlar
Bir metnin boyutunu Bayt (B), Kilobayt (KB) veya Megabayt (MB) cinsinden alın.
Bir IP alın ve onunla ilişkili alan adını/ana bilgisayarı aramaya çalışın.
Ping aracımızla herhangi bir web sitesinin, sunucunun veya portun durumunu ve yanıt süresini hızlı ve verimli biçimde kontrol edin.
Digily Link'in IP sorgulama aracı, herhangi bir IP adresi hakkında ayrıntılı bilgi sağlar. Kapsamlı IP verileri almak için bu ücretsiz çevrimiçi hizmeti kullanın.
WhatsApp Bağlantı Oluşturucumuzla ücretsiz WhatsApp bağlantınızı anında oluşturun. Özel bir mesaj ekleyin ve giriş yapmadan veya kod yazmadan tek tıklamayla sohbet başlatın.