DevBento logoDevBento
Araçlar/JSON Formatlayıcı ve Doğrulayıcı/JSON API Yanıtını Biçimlendir: Güzel Çıktı Örneği

JSON API Yanıtını Biçimlendir: Güzel Çıktı Örneği

Küçültülmüş JSON API yanıtını doğru girinti ile biçimlendirin. Girinti kuralları, jq kullanımı, küçültme takasları ve yaygın sözdizimi hatalarını kapsar.

Editör yükleniyor...

Editör yükleniyor...

Gönder:
İlgili Araçlar
b64Base64 Kodlayıcı/Çözücü
Base64 kodlama ve çözme aracı. UTF-8 metin, emoji ve ikili verileri destekler. Sunucu yok, üyelik gerekmez, her şey tarayıcınızda çalışır.
jwtJWT Çözücü
Decode the JWT you're parsing
%20URL Kodlayıcı ve HTML Varlık Dönüştürücü
Metinleri encodeURIComponent veya encodeURI ile kodlayın, HTML özel karakterlerini varlıklara dönüştürün. İşlemler tarayıcınızda gerçekleşir.
+/-Metin Karşılaştırma Aracı (Diff Checker)
İki metin bloğunu yan yana veya satır içi görünümde karakter düzeyinde vurgulama ile karşılaştırın. Eklemeleri, silmeleri ve değişiklikleri anında bulun.
shaHash Oluşturucu
Metin veya dosyalardan MD5, SHA-1, SHA-256 ve SHA-512 hashleri üretin. Web Crypto API ile hesaplanır. Tüm işlemler tarayıcınızda istemci tarafında çalışır.
</>SQL / CSS / HTML Formatlayıcı
SQL sorgularını, CSS stil sayfalarını ve HTML kodlarını sözdizimi vurgulama ile biçimlendirin ve küçültün. Tarayıcınızda çalışır, sunucuya veri gönderilmez.
tsJSON'dan TypeScript, Go, Python, Zod Dönüştürücü
Generate TypeScript types from your JSON
ymlJSON / YAML / TOML / CSV / XML / HTML / Markdown Dönüştürücü
JSON, YAML, TOML, CSV, XML, HTML, Markdown ve .env formatları arasında anında dönüşüm yapın. Yapılandırma dosyaları ve API yanıtlarını tarayıcıda çevirin.

Biçimlendirilmiş Yanıt

Küçültülmüş girdiye bir biçimlendirici uygulamak şunu üretir:

{
  "status": "success",
  "data": {
    "users": [
      {
        "id": 1,
        "name": "Alice Chen",
        "email": "alice@example.com",
        "role": "admin",
        "created_at": "2024-01-15T08:30:00Z"
      },
      {
        "id": 2,
        "name": "Bob Martinez",
        "email": "bob@example.com",
        "role": "editor",
        "created_at": "2024-03-22T14:15:00Z"
      },
      {
        "id": 3,
        "name": "Carol Williams",
        "email": "carol@example.com",
        "role": "viewer",
        "created_at": "2024-06-10T11:45:00Z"
      }
    ],
    "total": 3,
    "page": 1,
    "per_page": 25
  },
  "meta": {
    "request_id": "req_abc123",
    "response_time_ms": 42
  }
}

Yapı hemen okunabilir: sayfalanmış bir kullanıcı listesi artı istek meta verilerini saran bir başarı zarfı.

Biçimlendirilmiş JSON Hata Ayıklama İçin Neden Önemlidir

Bir API’yi curl’ladığınızda ve bir duvar küçültülmüş JSON aldığınızda yaptığınız ilk şey, onu bir biçimlendiriciden geçirmektir. Nedeni pratiktir: iç içe yapılar tek bir satırda görünmez. Girinti olmadan eksik bir anahtarı tarayamaz, null değeri fark edemez veya dizi uzunluğunu doğrulayamazsınız.

Biçimlendirilmiş JSON, birkaç hata ayıklama görevini çok daha hızlı hale getirir:

Yaygın REST API Yanıt Yapıları

Yukarıdaki örnek, yaygın olarak kullanılan bir deseni izler: gerçek yükü içeren bir veri nesnesi ve istek düzeyinde bilgi içeren bir meta nesne ile üst düzey bir durum alanı. Bu desenin varyasyonları sürekli karşımıza çıkar:

JSend tarzı zarf

{
  "status": "success",
  "data": { ... }
}

JSON:API zarfı

{
  "data": [ ... ],
  "links": { "next": "...", "self": "..." },
  "meta": { "total": 42 }
}

Hata yanıtı

{
  "status": "error",
  "code": "RESOURCE_NOT_FOUND",
  "message": "User 99 does not exist",
  "request_id": "req_xyz789"
}

Bunlardan herhangi birini biçimlendirmek, zarf yapısını hemen belirgin hale getirir; bu, bir istemci yazarken ve istediğiniz veriye ulaşmak için hangi yolu izlemeniz gerektiğini anlamanız gerektiğinde yardımcı olur.

Girinti Kuralları

Baskın iki seçenek 2 boşluk ve 4 boşluktur. Sekmeler de geçerli JSON boşluğudur ancak paylaşılan yapılandırmada daha az yaygındır.

2 boşluk, birçok JavaScript aracında varsayılandır. JSON.stringify(obj, null, 2) ve jq her ikisi de 2 boşluklu çıktı üretir. İç içe yapıları kompakt tutar; bu, rutin olarak derinlemesine iç içe JSON ile çalışıyorsanız önemlidir.

4 boşluk Python kuralıdır. json.dumps(obj, indent=4) bulacağınız en yaygın Python snippet’idir. Ayrıca birçok IDE biçimlendiricisinde varsayılandır.

Ekibinizin zaten kullandığına göre seçin. Bir .editorconfig veya proje düzeyinde Prettier yapılandırmanız varsa, girinti boyutunu zaten belirtiyordur. Bunu kullanın. Aynı dosyada veya aynı depoda girinti genişliklerini karıştırmayın.

Komut Satırında JSON Biçimlendirme

jq, komut satırı JSON biçimlendirme ve sorgulama için standart araçtır. Bir kez kurun (brew install jq veya apt install jq) ve sürekli kullanacaksınız.

Ham bir string’i biçimlendirme:

echo '{"name":"Alice","role":"admin"}' | jq .

Bir dosyayı biçimlendirme:

jq . response.json

Bir curl yanıtını satır içi biçimlendirme:

curl -s https://api.example.com/users | jq .

Yanıtı biçimlendirirken iç içe bir değer çıkarma:

curl -s https://api.example.com/users | jq '.data.users[0].email'

jq mevcut değilse, Python’un standart kütüphanesi temel durumu kapsar:

echo '{"name":"Alice"}' | python3 -m json.tool

Ya da Node.js kullanarak:

node -e "let d=''; process.stdin.on('data', c => d+=c); process.stdin.on('end', () => console.log(JSON.stringify(JSON.parse(d), null, 2)))" <<< '{"name":"Alice"}'

Bu ayrıntılı. jq kullanın.

Üretim İçin Küçültme

Küçültülmüş JSON sunmak yük boyutunu azaltır, ancak etkisi bağlama bağlıdır:

Yanıt boyutu Boşluk yükü Küçültmeden sıkıştırılmış kazanç
1 KB ~%15-25 gzip sonrası ihmal edilebilir
100 KB ~%15-25 Mütevazı (~sıkıştırılmışın %2-5’i)
10 MB statik dosya ~%15-25 Sıkıştırma olmadan anlamlı

Küçültme hakkında endişelenmeden önce HTTP sıkıştırmasını (Content-Encoding: gzip veya br) etkinleştirin. Boşluk son derece iyi sıkışır. Gzip, tekrarlayan girintiyi neredeyse sıfıra sıkıştırır. API yanıtlarınızı zaten sıkıştırıyorsanız, JSON küçültmenin ek adımı azalan getiriler üretir.

Küçültmenin açıkça yardımcı olduğu yerler: tutarlı sıkıştırma olmadan sunulan büyük statik JSON varlıkları. Çeviri dosyaları, GeoJSON veri kümeleri ve paketlenmiş yapılandırma dosyaları iyi adaylardır.

Biçimlendirirken JSON Doğrulama

JSON’u yeniden yaymadan önce ayrıştıran bir biçimlendirici, girdiyi de doğrular. JSON’ınızda bir sözdizimi hatası varsa (sonda virgül, tırnaksız anahtar, eksik parantez), biçimlendirici bunu yakalar ve ayrıştırmanın nerede başarısız olduğunu gösterir. Bu, kod dağıtmak ve çalışma zamanı JSON ayrıştırma hatasını beklemekten daha hızlı bir geri bildirim döngüsüdür.

Yaygın JSON sözdizimi hataları:

Yorumlar ve sonda virgüller içeren JSON benzeri bir formata ihtiyacınız varsa JSON5 veya JSONC’ye bakın, ancak standart JSON ayrıştırıcılarının bunları reddedeceğini unutmayın.

🔒

Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.

© 2026 devbento.dev · yerel olarak geliştirildiChangelog