Ana içeriğe geç
Programlama

Go için yeni encoding/json/v2 paketi yayımlandı

Öne çıkanlar

  • Go 1.27 ile sunulan v2 paketi, tekrarlanan anahtarları ve geçersiz UTF-8 verilerini güvenlik gerekçesiyle varsayılan olarak reddediyor.
  • Yeni akış arayüzleri sayesinde JSON çözümleme işlemleri v1 sürümüne kıyasla 10 kata kadar daha hızlı çalışıyor.
  • Mevcut encoding/json v1 paketi arka planda v2 seçenekleriyle çalıştırılarak tam geriye dönük uyumluluk korunuyor.

Go ekibi, standart kütüphanedeki JSON desteğini modernleştiren yeni encoding/json/v2 ve encoding/json/jsontext paketlerinin Go 1.27 ile kararlı sürüme ulaştığını duyurdu. Uzun süredir kullanılan v1 sürümündeki davranış kusurlarını ve performans kısıtlamalarını gidermeyi amaçlayan yeni paketler, geliştiricilere daha sıkı ve esnek bir serileştirme altyapısı sunuyor. Çalışmalar, sözdizimi ayrıştırma ile anlamsal eşleştirmeyi iki ayrı katmana bölerek bellek yönetimini iyileştiriyor.

Yeni sürüm, RFC 8259 standartlarına tam uyum sağlayarak geçersiz UTF-8 dizilerini ve tekrarlanan anahtar isimlerini doğrudan hata vererek reddediyor. Ayrıca boş dilim ve haritalar artık null yerine boş JSON dizisi veya nesnesi olarak serileştiriliyor. Akış odaklı çalışan yeni MarshalerTo ve UnmarshalerFrom arayüzleri sayesinde, özellikle büyük veri yapılarının çözümleme performansında 10 kata varan hız artışları elde ediliyor.

Go 1 geriye dönük uyumluluk sözü gereği mevcut encoding/json paketi süresiz olarak desteklenmeyi sürdürecek. Eski sürüm arka planda v2 altyapısını kullanacak şekilde yeniden kurgulandığı için iki sürüm arasındaki geçişler ve bağımlılık uyumluluğu ek yapılandırma seçenekleriyle kademeli olarak yönetilebilecek.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.