DevTools

JSON Doğrulayıcı

Ali Hub DevTools içinde JSON Doğrulayıcı aracını açık doğrulama, sonuçlar, gizlilik bilgileri ve belgelenen sınırlarla kullanın.

Birincil girdi

Depolama yalnızca araç tarayıcıda yerel, sürümlü, kapsamı sınırlı, temizlenebilir ve hassas olmayan verileri açıkça tanımladığında kullanılır.

Bu aracı yükle

Hızlı erişim için bu aracı cihazınıza ekleyin.

JSON Doğrulayıcı

Metnin standart JSON söz dizimine uyup uymadığını kontrol edin ve girdinin neden kabul edildiğini veya reddedildiğini anlayın.

Veriyi kullanmadan önce JSON'u kontrol edin

Eksik bir tırnak, virgül veya parantez API'yi, yapılandırmayı ya da build adımını durdurabilir. Bu validator source text'i JSON olarak parse etmeye çalışır ve syntax sorununu sonraki application validation adımlarından ayırır.

Buradaki validation, gönderilen metnin tek bir JSON value olarak parse edilip edilemediğini sınar. Başarılı parse yalnızca yapının JSON olarak kabul edildiğini gösterir; required field, business rule veya JSON Schema doğrulanmış olmaz.

Payload servisler arasında taşınırken önce syntax kontrolü yapmak debugging alanını daraltır. Quote, comma, escape ve nesting değerlerini inceleyin, sonra project'e özgü schema ve domain kontrollerini çalıştırın.

Sayfayı request body, fixture, dışa aktarılmış ayar veya configuration snippet için kullanabilirsiniz. Test copy içinden token, password ve kişisel verileri çıkarın; kurumunuzun privacy policy kurallarına uyun.

Syntax ile verinin anlamı farklıdır

Standart JSON object, array, string, number, true, false ve null içerir. Property name ve string double quote içinde yazılır, member değerleri comma ile ayrılır, bracket doğru sırada kapanır. Comment ve trailing comma standart JSON grammar'ın parçası değildir.

Validator'ın sorusu sınırlıdır: source tek bir JSON value olarak parse edilebilir mi? Tool source'u onarmaz, code çalıştırmaz, API çağırmaz ve value'nun uygulama için anlamlı olup olmadığını belirlemez. Schema ve domain kontrollerini ayrı tutun.

Whitespace okunabilirlik için genellikle kabul edilir, ancak string içindeki character verinin parçasıdır. Production consumer'ın kullandığı parser kurallarıyla escape sequence, newline, Unicode ve encoding değerlerini kontrol edin.

Geçerli bir JSON document transport katmanının da geçerli olduğu anlamına gelmez. HTTP header, content type, authentication, compression ve size limit farklı katmanlardır.

JSON doğrulama adımları

  1. Source field içine eksiksiz bir JSON value yapıştırın. Comment, code fence ve programming language wrapper kısımlarını test copy'den çıkarın.
  2. Validator'ı çalıştırıp status ve diagnostic bilgisini okuyun. Sadece marker karakterine bakmayın; önceki ve sonraki token değerlerini de kontrol edin.
  3. Reddedilirse quote, comma, bracket, escape ve nesting değerlerini inceleyin. Büyük document için küçük parçaya ayırıp failing section'ı bulun ve düzeltilmiş metni yeniden gönderin.
  4. Syntax geçtikten sonra project'in schema, type, required property, range, permission ve business rule kontrollerini çalıştırın. Bu sonuçları syntax result ile aynı anlamda raporlamayın.
  5. Original payload ile redacted copy dosyalarını ayrı saklayın. Secret değerlerini public example, screenshot veya URL içine koymayın.
  6. Son doğrulamayı gerçek consumer ile aynı parser ve encoding kullanarak integration test içinde yapın. Farklı language veya library duplicate key ve number precision değerlerini farklı ele alabilir.

Validation yöntemi

  • Grammar okumak

    Validator token, quote, delimiter ve nesting kurallarını kullanarak bütün source'u tek bir JSON value olarak parse etmeye çalışır.

  • Sonucu bildirmek

    Valid sonucu parsing işleminin tamamlandığını bildirir. Failure sonucu source'un anlaşılan syntax ile eşleşmediğini bildirir.

  • Sonraki kontrolleri ayırmak

    Schema, range, permission ve domain kontrolleri semantic check türündedir ve ayrı kural ile evidence gerektirir.

Tool exact line number veya error message sağlamıyorsa bunları tahmin ederek yazmayın. Gerekirse gerçek runtime üzerinde ayrıca test edin.

Result okuma

Valid sonucu text'in JSON syntax olarak kabul edildiğini gösterir. Ardından value değerlerini ve schema veya application validation sonuçlarını inceleyin.

Invalid sonucu parsing işleminin durduğunu gösterir. Belirtilen konumun öncesindeki ve sonrasındaki character değerlerini kontrol edin.

Syntax geçerli olduğu halde request başarısızsa content type, endpoint, authentication, schema ve business rule değerlerini kontrol edin. Syntax success network success anlamına gelmez.

Message genel ise input'u küçültüp failing section'ı arayın. Bir property ekleyince sonucun değişmesi araştırma ipucudur; bütün parser'lar için evrensel policy değildir.

Yaygın hatalar

Single quote, comment veya trailing comma içeren JavaScript'i doğrudan yapıştırmak sık görülen hatadır. Standard JSON'a dönüştürün.

Valid result değerini schema validation sanmak yanlıştır. Required field, range ve permission kontrollerini ayrı yapın.

Sadece error marker yakınındaki character'i değiştirmek yeterli olmayabilir; eksik quote veya comma daha önce bulunabilir.

JSON'u Python dictionary, YAML veya JavaScript object ile aynı kabul etmeyin. Documented JSON grammar kullanın.

Clipboard smart quote veya gizli control character taşıyabilir. Tool sonuçları farklıysa source'u plain text editor içinde görün.

Sınırlamalar

Documented input tek bir JSON text field'dır. Bu durum JSON Schema, business rule, file processing veya bütün parser edge case değerlerinin desteklendiğini kanıtlamaz.

Duplicate key, çok büyük number, document size ve encoding değerlerini gerektiğinde ayrıca test edin. Policy library'ye göre değişebilir.

Checker kötü niyetli payload'u güvenli hale getirmez. Server tarafında size, nesting ve resource limit ile security review gereklidir.

Production runtime, library version ve error policy değerlerini ayrıca belgeleyin. Sayfanın genel sonucu bu evidence yerine geçmez.

Examples

Basit object kabul edilir

Bu temel object valid JSON mu?

Tam object değerini gönderin.

Quoted name, string ve boolean geçerli bir object structure oluşturuyor.

Tırnaksız name reddedilir

Unquoted property name neden geçersiz?

Source'u gönderip failure sonucunu okuyun.

Standart JSON'da member name double quote içindeki string olmalıdır.

Nested data kabul edilir

Bir object array içinde başka object bulunabilir mi?

Nested value'yu tek document olarak gönderin.

Array, object, number, comma ve bracket birlikte geçerli JSON structure oluşturuyor.

Trailing comma reddedilir

Son member sonrasındaki comma ne yapar?

Trailing comma içeren object'i gönderin.

Standart JSON trailing comma kabul etmez. Comma değerini kaldırıp tekrar kontrol edin.

null değeri

null geçerli JSON value mu?

Object'i gönderip status değerini okuyun.

null standart JSON value'dur. Uygulamadaki anlamını project contract belirler.

Eksik bracket reddedilir

Opening bracket neden kapatılmalı?

Dengesiz structure değerini gönderin.

Array [ ile açılmış, fakat ] ile kapanmamış. Data'yı kullanmadan önce nesting'i düzeltin.

Frequently asked questions

Valid JSON application data'nın da valid olduğu anlamına gelir mi?

Hayır. Yalnızca text'in parse edilebildiğini gösterir. Required field, type, range, status ve business rule kontrolleri ayrıdır.

Validator source'u otomatik düzeltir mi?

Checker olarak kullanın. Source'u kendiniz düzeltin, diff'i saklayın ve kontrol edilmiş copy'yi tekrar gönderin.

Comment kullanmak serbest mi?

Standart JSON'da comment yoktur. Yorum gerekiyorsa başka source formatında tutun, build step ile strict JSON üretip çıktıyı doğrulayın.

Single quote neden reddedilir?

Standart JSON name ve string değerleri double quote ile ister. JavaScript object'i manuel quote değişimi yerine JSON serializer ile dönüştürün.

Bu tool JSON Schema kontrol eder mi?

Hayır. Doğru schema ve draft version ile ayrı bir schema validator çalıştırın ve sonucu syntax result'tan ayrı kaydedin.

Top-level value array olabilir mi?

JSON array'i top-level value olarak kabul eder. Ancak endpoint object isteyebilir; endpoint contract kontrolünü ayrıca yapın.

Duplicate key her zaman reddedilir mi?

Evrensel bir policy yoktur. Parser ilk veya son değeri tutabilir ya da error verebilir. Duplicate name kullanmayın ve gerçek consumer üzerinde test edin.

Validation geçtikten sonra ne yapmalıyım?

Schema, permission, range ve integration test çalıştırın. Content type, encoding, size, timeout ve logging kontrolünden sonra redacted payload'u staging'de deneyin.

References