Java · nommage JSON Jackson
Jackson snake_case ↔ camelCase
Gardez les propriétés Java idiomatiques en camelCase et traduisez le JSON externe snake_case à la frontière de sérialisation.
Utiliser @JsonNaming pour un modèle ou DTO
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class UserProfile {
private String firstName;
private String avatarUrl;
}SnakeCaseStrategy mappe firstName vers first_name sans annotation sur chaque propriété.
Utiliser ObjectMapper pour une convention globale
ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
UserProfile profile = mapper.readValue(json, UserProfile.class);
String output = mapper.writeValueAsString(profile);PropertyNamingStrategies.SNAKE_CASE s’applique à la sérialisation et désérialisation des noms externes.
Utiliser @JsonProperty pour les exceptions
public class UserProfile {
@JsonProperty("user_id")
private String userId;
@JsonProperty("display_name")
private String displayName;
}Les mappings explicites conviennent aux quelques noms externes qui ne suivent pas la règle globale.
Points d’attention en production
- Définissez clairement le niveau propriétaire de la convention : classe, ObjectMapper ou champ.
- La stratégie change les noms de propriétés, pas les valeurs de chaînes.
- Deux noms externes normalisés vers une propriété signalent un problème de contrat API.
- Les exemples utilisent les packages Jackson 2.x ; vérifiez la migration de votre version majeure.
Tester la frontière JSON en ligne
Testez objets imbriqués, tableaux, exclusions, stop paths, préfixes, collisions et diff de clés avant l’implémentation.
Déposez un fichier .json ou choisissez-en un sur votre appareil
Les fichiers sont lus uniquement dans votre navigateur. Taille maximale : 5 Mo.
{
"user_profile": {
"first_name": "Ada",
"created_at": "2026-09-12"
}
}Analyse, lecture de fichier, formatage et conversion s’exécutent localement dans votre navigateur. Le JSON n’est pas envoyé à un serveur de conversion.