Générez des Java Records idiomatiques, des classes Lombok @Data ou des POJOs Java standards avec inférence de types et annotations Jackson @JsonProperty à partir d'un JSON.
package com.example.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.Instant;
import java.time.LocalDate;
import java.util.List;
import java.util.UUID;
public record Owner(
@JsonProperty("user_id")
Integer userId,
@JsonProperty("full_name")
String fullName,
@JsonProperty("email_address")
String emailAddress,
@JsonProperty("verified")
Boolean verified
) {}
public record Metric(
@JsonProperty("metric_key")
String metricKey,
@JsonProperty("metric_value")
Double metricValue,
@JsonProperty("alert_threshold")
Integer alertThreshold
) {}
public record ApiResponse(
@JsonProperty("id")
UUID id,
@JsonProperty("name")
String name,
@JsonProperty("is_active")
Boolean isActive,
@JsonProperty("max_concurrency")
Integer maxConcurrency,
@JsonProperty("service_fee")
Double serviceFee,
@JsonProperty("created_at")
Instant createdAt,
@JsonProperty("deployment_date")
LocalDate deploymentDate,
@JsonProperty("tags")
List<String> tags,
@JsonProperty("owner")
Owner owner,
@JsonProperty("metrics")
List<Metric> metrics
) {}Style de classe cible
3
Nombre de classes générées
17
Nombre de champs inférés
1.2 KB
Générez des Java Records idiomatiques, des classes Lombok @Data ou des POJOs Java standards avec inférence de types et annotations Jackson @JsonProperty à partir d'un JSON.
Définit le paradigme de classe cible : Records immuables (Java 16+), classes annotées avec Lombok (@Data, @Builder, @Value) mutables ou immuables, ou JavaBeans classiques avec getters/setters explicites.
Détermine le mappage entre les clés JSON et les champs Java, ainsi que la génération d'annotations Jackson (@JsonProperty, @JsonNaming) pour gérer les écarts de casse.
Contrôle les heuristiques d'inférence numérique, associant les nombres flottants à Double ou BigDecimal et les entiers à Integer, Long ou BigInteger.
Si activé, annote les classes et champs générés avec des annotations Jackson telles que @JsonProperty, @JsonInclude(Include.NON_NULL) et @JsonIgnoreProperties(ignoreUnknown = true).
Gère l'inférence des chaînes de date/heure au format ISO-8601, mappant automatiquement les horodatages vers java.time.Instant, java.time.OffsetDateTime ou java.time.LocalDate.
Assurez-vous que jackson-databind est en version 2.12 ou supérieure. Sous Java 16+, vérifiez que le module jackson-module-parameter-names est bien enregistré dans votre ObjectMapper, ou passez à Jackson 2.13+ qui prend en charge nativement le constructeur canonique des records.
Ajoutez @Builder.Default sur les champs disposant d'une valeur d'initialisation, ou déclarez explicitement @NoArgsConstructor conjointement avec @AllArgsConstructor afin que Jackson puisse instancier l'objet via réflexion ou builder sans réinitialiser les valeurs par défaut.
Définissez une interface polymorphique commune ou une classe de base abstraite annotée avec @JsonTypeInfo et @JsonSubTypes de Jackson, ou prétraitez le payload JSON pour harmoniser les structures d'objets avant la génération du POJO.
Convertissez des payloads JSON en records, classes et structs C# fortement typés, prenant en charge les attributs System.Text.Json [JsonPropertyName] et Newtonsoft.Json.
Analysez localement vos journaux d'accès bruts Nginx et Apache : distribution des codes d'état, URL les plus sollicitées, adresses IP clientes uniques, métriques de bande passante et filtrage par expressions régulières personnalisées.
Convertissez directement les définitions de schémas GraphQL SDL, types, requêtes et mutations en schémas JSON Schema Draft-07 et composants OpenAPI standard.
Référence exhaustive de la syntaxe cron POSIX à 5 champs et Quartz à 6 champs. Raccourcis macros, calcul des cycles et prévention des chevauchements de tâches.
Manuel technique des expressions régulières ECMAScript, groupes de capture, remplacements et drapeaux de configuration.
Encodez et décodez en toute sécurité des URL et paramètres de requête avec les normes RFC 3986, encodeURIComponent, encodeURI et formUrlEncoded.