Go standart kütüphanesine yeni JSON v2 paketi geliyor
Öne çıkanlar
- MarshalWrite ve UnmarshalRead fonksiyonları ara kodlayıcı katmanına gerek duymadan doğrudan akışlarla çalışıyor.
- Yeni eklenen generic işlevler sayesinde özel türler oluşturmadan serileştirme kuralları tanımlanabiliyor.
- Boş dilim ve eşlemler yeni sürümde varsayılan olarak null yerine boş koleksiyon formatında kodlanıyor.
Go programlama dilinin standart kütüphanesinde yer alan JSON paketi, v2 sürümüyle kapsamlı bir mimari yenilemeden geçti. Yeni sürüm, temel Marshal ve Unmarshal kullanımını korurken API yapısında, akış yönetiminde ve varsayılan davranışlarda önemli değişiklikler sunuyor. Geliştiriciler, önceki sürümlerdeki performans sınırlarını ve tasarım kusurlarını gideren yeni araçlara kavuştu.
Güncelleme ile birlikte akış tabanlı kodlama için düşük seviyeli jsontext paketi devreye girdi. MarshalWrite ve UnmarshalRead gibi doğrudan io.Reader ve io.Writer arayüzleriyle çalışan yeni fonksiyonlar eklendi. Ayrıca yapı etiketlerine case:ignore ve embed gibi yeni nitelikler kazandırılırken, genel (generic) MarshalFunc ve UnmarshalFunc işlevleri sayesinde tür bazında esnek dönüştürücüler tanımlama imkanı sağlandı.
Varsayılan davranışlarda da dikkate değer düzenlemelere gidildi. Yeni pakette boş (nil) dilimler ve eşlemler artık doğrudan boş dizi veya nesne olarak serileştiriliyor; geçersiz UTF-8 karakterlerine izin verilmiyor ve bayt dizileri varsayılan olarak base64 formatında kodlanıyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.