Java'dan JSON'a Dönüştürücü
Java POJO, record veya class yapıştır. Temiz JSON geri al.
Bu araç ne yapıyor
Elinizde bir Java record'u veya klasik bir POJO var ve buna denk gelen bir JSON payload'ına ihtiyacınız var — request body için, OpenAPI örneği için veya test fixture için. Class'ı bir constructor çağrısıyla birlikte yapıştırın (Java 10+'da var order = new Order(...) da iş görür) ve Jackson veya Gson'un serileştireceği şekilde JSON geri alın — hiçbir şeyi instantiate etmenize gerek kalmadan.
Araç sadece string-replace yapmaz, gerçek serializer davranışını takip eder. BigDecimal BigDecimal(...) sargısı olmadan JSON sayısına dönüşür, OffsetDateTime / LocalDateTime / Instant RFC 8259'a göre ISO-8601 string'leri olarak çıkar, UUID standart 8-4-4-4-12 hex string'idir, boolean boolean kalır, koleksiyonlar (List, Set, array'ler) JSON array'lerine düzleşir. Map<String, V> map girdilerini anahtar olarak alan bir JSON nesnesine dönüşür.
Jackson annotation'ları dikkate alınır: @JsonProperty("x") anahtar ismini değiştirir, @JsonIgnore alanı çıkarır ve @JsonInclude(Include.NON_NULL) null'ları bastırır. İç içe class'lar — Order içindeki tipik Address gibi — olduğu yerde genişletilir. İçinde birkaç class olan koca bir dosyayı yapıştırın; her top-level instance kendi girdisi olarak çıkar. Annotation'ların tam referansı için jackson-annotations dokümanlarına bakın.
Nasıl kullanılır
Üç adım. İster tek satırlık bir record yapıştırın, ister koca bir model dosyası — aynı şekilde çalışır.
Java'nızı yapıştırın (veya örneği deneyin)
Class'ı ve bir constructor çağrısını soldaki editöre bırakın. Getter/setter'lı bir POJO, bir record, bir Lombok @Data class'ı veya birden fazla class — hepsi olur. Gerçekçi bir başlangıç noktası isterseniz Load Sample'a basın.
package tanımlarını, import'ları, public/private modifier'larını silmenize gerek yok. Standart Java syntax'ını olduğu gibi bırakın. Jackson annotation'ları, validation annotation'ları ve Lombok decoration'larının hepsi kabul edilir.
Convert'a basın
Yeşil Convert butonuna tıklayın. Araç class'ı okur, constructor argümanlarını çözer, Jackson'ın rename/ignore annotation'larını uygular ve girintili JSON üretir.
JSON'u kopyalayın
Sağdaki panel bir Spring Boot isteği, bir JUnit fixture'ı veya bir Swagger örneği için hazır JSON'u gösterir. Nereye gerekirse oraya kopyalayın.
Bu iş gerçekten nerede işe yarıyor
Spring Boot istek örnekleri
Bir <code>@RequestBody</code> DTO'su ve bir constructor çağrısı yapıştırın; uygulamayı ayağa kaldırmadan Postman, curl veya HTTPie'a atabileceğiniz bir JSON body alın.
JUnit test fixture'ları
Unit test'te kurduğunuz bir nesneyi entegrasyon testleri, WireMock stub'ları veya Testcontainers seed verisi için bağımsız bir JSON dosyasına dönüştürün.
OpenAPI / Swagger örnekleri
Gerçek bir model class'ını kullanarak OpenAPI spec'inizin <code>example</code> bloğunu üretin — böylece örnek gerçek POJO ile her zaman senkron kalır.
Kafka ve messaging payload'ları
Bir Kafka mesajını temsil eden record'u producer test'i, örnek veri veya dokümantasyon için JSON'a çevirin.
Sık sorulan sorular
Jackson annotation'larına uyuyor mu?
Evet. @JsonProperty alanları yeniden adlandırır, @JsonIgnore onları kaldırır, @JsonInclude(Include.NON_NULL) null'ları bastırır ve @JsonFormat tarih formatını kontrol eder. Tüm liste için jackson-annotations referansına bakın.
BigDecimal, LocalDateTime ve UUID nasıl işleniyor?
BigDecimal JSON sayısı olur. LocalDateTime, OffsetDateTime ve Instant ISO-8601 string'leri olur. UUID standart 8-4-4-4-12 hex string'idir. LocalDate YYYY-MM-DD'dir. Jackson'ın JavaTimeModule varsayılanlarıyla örtüşür.
Record'ları ve sealed tipleri destekliyor mu?
Evet. Java 14+ record tipleri canonical component'ları kullanılarak serileştirilir. Sealed tipler ve izin verilen alt tipleri altta yatan veri şekline indirgenir. Arka plan için OpenJDK records JEP'ine bakın.
Lombok @Data / @Builder class'ları ne oluyor?
Lombok annotation'ları tanınır — üretilen getter, setter ve builder'lar normal accessor gibi ele alınır. Araç JSON'u kurmak için tanımlanan alanlara ve yapıştırdığınız constructor çağrısına bakar.
İçinde birden fazla class olan koca bir dosyayı yapıştırabilir miyim?
Evet. Yapıştırdığınız koddaki instance'ı olan her top-level class JSON'da kendi girdisi olarak çıkar. Inner/nested static class'lar kullanıldıkları yerde inline genişletilir.
Kodum saklanıyor mu?
Kod sadece dönüştürülmek üzere backend'e gönderiliyor; saklanmıyor ve log'lanmıyor. Yine de herhangi bir online araçta olduğu gibi, gerçekten hassas bir şey yapıştırmadan önce bir göz atın.
İhtiyacınız olabilecek diğer araçlar
Java'dan JSON'a yapbozun bir parçası. Yanına iyi giden araçlar: