Générateur JSON vers Java

Entrée JSON

1

Java Généré

Configuration

Vous pouvez sélectionner Jackson et Lombok

Saisissez du JSON pour générer des classes Java

Prend en charge POJOs, Lombok et annotations Jackson

Comment convertir JSON en Java – guide étape par étape

Utilisez ce générateur JSON vers Java pour créer des POJO Java à partir d'exemples JSON pour les applications, services et intégrations JVM Spring Boot.

  1. Étape 1 – Collez un échantillon JSON

    • Collez un objet ou un tableau JSON représentatif dans l'éditeur de gauche.
    • Incluez des objets imbriqués, des tableaux et des champs nullables afin que les types soient correctement déduits.
    • Utilisez Import pour charger JSON à partir d'un fichier, d'une URL ou d'un exemple de données.
  2. Étape 2 – Choisissez les options Java POJO

    • Définissez Class Name et Package Name pour qu'ils correspondent à la structure de votre projet.
    • Activez les annotations Jackson si vous souhaitez des mappages JSON explicites.
    • Activez Lombok si vous souhaitez réduire le passe-partout (getters/setters/constructeurs).
  3. Étape 3 – Vérifiez le code généré

    • Vérifiez les noms de champs, les types et la façon dont les tableaux/objets sont modélisés.
    • Ajustez les options telles que Root Type Name, la gestion des valeurs nulles et les frameworks si disponibles.
    • Si un champ est déduit de manière incorrecte, modifiez votre exemple JSON et régénérez-le.
  4. Étape 4 – Utilisez les POJO en Java

    • Copiez les classes générées dans votre dossier source.
    • Désérialisez JSON avec Jackson (ou la bibliothèque de votre choix) dans le type racine.
    • Ajoutez des annotations de validation (par exemple Bean Validation) si vous avez besoin de contrôles d'entrée stricts.
  5. Étape 5 – Copier ou télécharger

    • Copiez la sortie dans votre projet ou téléchargez-la sous forme de fichier.
    • Exécutez votre formateur/linter pour qu'il corresponde à votre style de code.
    • Ajoutez des bibliothèques d'analyse/sérialisation JSON si votre langage l'exige.

Conseils rapides

  • Utilisez @JsonProperty lorsque les clés JSON ne correspondent pas au nom Java.
  • Préférez Instant/OffsetDateTime uniquement lorsque votre format d'horodatage est stable.
  • Gardez les DTO séparés des entités de persistance pour éviter le couplage.
Exemple de résultat (simplifié)
// Entrée JSON
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated Java POJOs (simplified)
public class Metadata {
  private String plan;
  public String getPlan() { return plan; }
  public void setPlan(String plan) { this.plan = plan; }
}

public class Root {
  private int id;
  private String name;
  private String email;
  private boolean active;
  private java.util.List<String> roles;
  private Metadata metadata;
  private String createdAt;
  private double score;
  private Object notes;
}

Outils JSON et Java associés

Explorez d'autres outils JSON et de schéma qui fonctionnent parfaitement avec ce générateur JSON vers Java.

Questions fréquentes

Quelles fonctionnalités Java sont prises en charge ?

Le générateur crée des classes Java avec constructeurs, getters/setters, prend en charge les annotations Jackson pour la sérialisation JSON, et Lombok pour réduire le boilerplate, en respectant les conventions Java.

Puis‑je générer des classes compatibles Lombok ?

Oui ! Choisissez « Lombok » pour générer des classes avec @Data, @AllArgsConstructor et @NoArgsConstructor, supprimant le code répétitif.

Comment fonctionne l’intégration Jackson ?

Avec Jackson, le générateur ajoute des annotations @JsonProperty aux champs pour une sérialisation/désérialisation correcte, y compris avec des noms personnalisés.

Et la structure de package ?

Vous pouvez définir un nom de package personnalisé. Le générateur ajoute la déclaration package appropriée en haut du fichier Java.

Générateur JSON vers Java | JSONSwiss