JSON'dan Go struct'a

JSON yapıştır, json tag'li Go struct'lar al. Alan adları ID ve URL gibi Go kurallarına uyar, isteğe bağlı alanlar omitempty alır, nullable değerler pointer olur.

Ücretsiz ve gizli. Her şey tarayıcında çalışır, hiçbir şey yüklenmez.

Nasıl kullanılır

  1. JSON'unu yapıştırAPI'nden gelen bir yanıtı yapıştır ya da .json dosyası aç. Nasıl çalıştığını görmek için Örnek'e bas.
  2. Seçenekleri ayarlaEn üstteki tipin adını ve bu dile özel seçenekleri belirle. Kod sen yazdıkça güncellenir.
  3. Kopyala ya da indirKodu projene kopyala ya da dosya olarak indir.

Doğru unmarshal edilen struct'lar

encoding/json dışa açık olmayan alanları yok saydığı için her alan dışa açıktır ve her alan asıl anahtarı taşıyan bir json tag'ine sahiptir. Yaygın kısaltmalar Go usulü yazılır, yani user_id UserID, image_url ImageURL olur. Bazı öğelerde olmayan alanlar omitempty alır, böylece struct'ı tekrar marshal ettiğinde bu alanlar yine dışarıda kalır.

Null olabilen değerler pointer olur, böylece eksik bir değeri sıfır değerden ayırt edebilirsin. İsteğe bağlı alanlarda düz değer tercih ediyorsan pointer seçeneğini kapat. Saat dilimi olan zaman damgaları RFC 3339 metnini okuyan time.Time olur; diğer tarih biçimleri string kalır, çünkü time.Time onlarda hata verir.

Sık sorulan sorular

Neden bazı sayılar int64, bazıları int?

32 bite sığan tam sayılar int olur. Milisaniyelik zaman damgaları ya da büyük ID'ler gibi daha büyük değerler, hiçbir platformda kesilmesin diye int64 olur.

JSON'um bir yere yükleniyor mu?

Hayır. Tipler tarayıcında oluşturulur. Müşteri verisi ya da anahtar içeren API yanıtları cihazından çıkmaz.

İsteğe bağlı alanlar nasıl bulunuyor?

JSON'da bir nesne listesi varsa her nesne karşılaştırılır. En az bir nesnede olmayan alan isteğe bağlı olarak işaretlenir. Tek bir nesne varsa her alan zorunlu sayılır.

Hep null olan alanlara ne oluyor?

Tipi örnekten anlaşılamaz, bu yüzden alan unknown, object, Any ya da JsonElement gibi genel bir tip alır. Kesin tip için alanın dolu olduğu bir örnek ekle.

1.0 değerim neden ondalıklı sayı oldu?

Araç sayının nasıl yazıldığına bakar. 1.0 ya da 2.5 double veya float olur, 1 tam sayı olur. Bir alan bazı öğelerde tam, bazılarında ondalıklıysa ondalıklı tip kullanılır.

Sonucu canlı projede kullanabilir miyim?

Evet, kod olağan kurulumlarda olduğu gibi derlenir. Yine de commit etmeden önce adları ve tipleri gözden geçir, çünkü bir örnek hiçbir zaman olası bütün değerleri göstermez.

İnternetsiz çalışır mı?

Evet. Sayfayı bir kez açtıktan sonra internet bağlantısı olmadan da çalışmaya devam eder.