İçeriğe atla
%100 yerel

JSON için Go Yapısı

JSON örneğini çıkarılan türler ve etiketler içeren Go yapısı tanımlarına dönüştür.

Giriş
Çıkış

JSON için Go Yapısı

Bir JSON örneği yapıştırın ve bu araç json etiketleriyle eşleşen Go yapısı tanımları oluşturacaktır. Her alan için int, float64, string, bool ve null çıkarır, iç içe nesneler için adlandırılmış veya gömülü yapılar oluşturur ve diziler için dilim türlerini belirler — kendi yeniden kullanılabilir yapısına sahip nesne dilimlerini içerir.

Seçenekler oluşturulan kodu şekillendirir. Root yapısını kendiniz adlandırın veya aracın onu çıkarmasına izin verin. Etiketlerin nasıl yazılacağını seçin — orijinal anahtarı tutun veya orijinal alanın nasıl adlandırıldığından bağımsız olarak snake_case veya camelCase'e dönüştürün. "omitempty ekle" seçeneğini etkinleştirerek her etikete ekleyin ve "İsteğe bağlı alanlar için işaretçiler" seçeneğini etkinleştirerek örneğin bazı bölümlerinde eksik olan veya null olan alanları bir işaretçi türüyle işaretleyin. Dizi nesneleri biraz farklı alanlara sahip olduğunda, "Dizi öğesi şekillerini birleştir" bunları bir yapı halinde birleştirir ve ekstra alanları isteğe bağlı olarak işaretlerken öğe türünden vazgeçmeyin. Aracın belirleyemediği değerler için interface{}, any takma adı veya json.RawMessage'ı ertelenmiş dekodlama için seçin.

Bu, Go'da bir API istemcisi veya yapılandırma yükleyicisi yazmadan önceki adımdır: gerçek bir yanıt veya yapılandırma örneği yapıştırın ve alan adlarını ve etiketleri manuel olarak yazmanın yerine bir başlangıç yapısı alın. İç içe yapılar, paketteki başka yerlerde yeniden kullanım için ayrı adlandırılmış türler olarak kalabilir veya bir form yalnızca bir kez kullanıldığında satır içinde işlenebilir. Etiketi orijinal JSON anahtarıyla artık eşleşmeyen alanlar için orijinal anahtarla bir açıklama mevcuttur.

Her şey tarayıcınızda yerel olarak çalışır — yapıştırdığınız JSON, gerçek API yanıtlarını veya dahili yapılandırmayı içerebilir, hiçbir zaman yüklenmez. Sonucu kopyalayın, .txt dosyası olarak indirin veya çıktıyı giriş değerine geri taşıyarak örneği geliştirin ve yeniden oluşturun.

FAQ

İç içe nesneleri ve dizileri işler mi?
Evet. İç içe nesneler kendi adlandırılmış yapısı (veya bunu etkinleştirirseniz gömülü anonim bir yapı) haline gelir, diziler dilim haline gelir ve nesne dilimi her öğe aynı şekle sahip olduğunda bir yapıyı yeniden kullanır.
Dizi nesneleri aynı alanlara sahip olmadığında ne olur?
"Dizi öğesi şekillerini birleştir" etkinleştirildiğinde (varsayılan), araç öğelerde gördüğü her alanı bir yapı halinde birleştirir ve bazı öğelerde eksik olan alanları isteğe bağlı olarak işaretler. Bunu devre dışı bırakın ve araç dinamik bir öğe türüne geri döner.
JSON etiketlerinin nasıl adlandırıldığını kontrol edebilir miyim?
Evet, JSON etiketi biçimi seçeneğiyle: orijinal anahtarı tam olarak örnekte göründüğü şekilde tutun veya her anahtarı snake_case veya camelCase'e dönüştürün.
Aracın çıkaramadığı bir alan için ne tür bir tip alırım?
interface{}, any takma adı veya json.RawMessage, seçtiğiniz seçeneğe bağlı olarak — RawMessage, bu alanı daha sonra kendiniz dekode etmek istediğinizde yararlıdır.
JSON'um herhangi bir yere yükleniyor mu?
Hayır. Yapı oluşturma tamamen tarayıcınızda yerel olarak çalışır — yapıştırdığınız JSON hiçbir zaman cihazınızdan ayrılmaz.