UTILS.
%100 tarayıcıda

JSON'dan Java POJO'suna

Bir JSON örneğinden Java POJO sınıfları oluşturun; Jackson veya Gson açıklamaları, üretilen getter ve setter'lar ve null alanlar için sarmalanmış tiplerle.

çıktı

Bu araç hakkında

JSON'dan Java POJO'suna aracı, yapıştırdığınız bir JSON örneğini jsonschema2pojo'nun yaptığı gibi ama tarayıcınızda anında Java model sınıflarına dönüştürür. JSON'u ayrıştırır, Java tiplerini özyinelemeli olarak çıkarır ve her nesne için bir sınıf üretir: dizeler String olur, tam sayılar int veya long, diğer sayılar double, boole değerleri boolean, diziler List<T> ve iç içe nesneler, onları kullanan ebeveynlerden önce bildirilen kendi PascalCase sınıfları olur.

Tüm ayrıştırma ve üretim JSON.parse ve düz JavaScript ile yerel olarak çalışır, böylece yükleriniz asla sayfadan ayrılmaz. Alanlar camelCase yapılır; JSON anahtarı zaten camelCase değilse araç @JsonProperty("originalKey") (Jackson) veya @SerializedName("originalKey") (Gson) ekler ya da düz alan modunda hiçbir şey eklemez. Herhangi bir örnekte null olabilen alanlar, null'un temsil edilebilmesi için sarmalanmış tipleri (Integer, Long, Double, Boolean) kullanır. Jackson sınıfları, ileri uyumluluk için @JsonIgnoreProperties(ignoreUnknown = true) taşır.

Açıklama stili geçişi Jackson (varsayılan), Gson veya açıklama yok seçer ve yalnızca gerçekten kullanılan içe aktarmalar dahil edilir. Erişimci geçişi, özel alanlarda üretilen getX()/setX() yöntemleri (varsayılan) ile düz genel alanlar arasında seçim yapar. Sonucu kopyalayın veya doğrudan projenize bırakmak üzere .java dosyası olarak indirin.

Sık sorulan sorular

Hangi Java tipleri üretilir?
string String'e, tam sayı int'e (bir değer int aralığını aştığında long), tam sayı olmayan sayı double'a, boole boolean'a, dizi List<T>'ye ve nesne adlandırılmış bir sınıfa dönüşür. null olabilen alanlar sarmalanmış tipleri kullanır — Integer, Long, Double, Boolean.
Jackson mı Gson açıklamaları mı?
Açıklama geçişi Jackson (@JsonProperty, ayrıca @JsonIgnoreProperties(ignoreUnknown = true)), Gson (@SerializedName) veya hiçbirini seçer. Açıklamalar yalnızca camelCase alan adı orijinal JSON anahtarından farklı olduğunda eklenir.
Getter ve setter alıyor muyum?
Varsayılan olarak her özel alan üretilmiş bir getX() ve setX() alır. Erişimci yöntemleri olmadan records tarzı çıplak alanları tercih ederseniz erişimci geçişini düz genel alanlara çevirin.
JSON'um herhangi bir yere gönderiliyor mu?
Hayır. JSON tamamen tarayıcınızda düz JavaScript ile ayrıştırılır ve sınıflar üretilir. Hiçbir şey yüklenmez, böylece dahili API yanıtlarını güvenle yapıştırabilirsiniz.

Daha fazla araç