2016-06-20 2 views
2

Je consomme un service de repos où la réponse JSon entrant est quelque chose comme çaCarte JSON balise par défaut à la variable java

"thumbnailUrls": { 
     "small": "skinresources/unpackaged/images/default_event.jpg", 
     "medium": "skinresources/unpackaged/images/default_event.jpg", 
     "large": "skinresources/unpackaged/images/default_event.jpg", 
     "default": "skinresources/unpackaged/images/default_event.jpg" 
    }, 

J'ai créé une classe Java pour cartographier les valeurs listées ci-dessous est le code Java ci-dessous

public class ThumbNailUrlDTO { 

    private String small; 

    private String medium; 


    private String large; 

    private String default; 
} 

la question que j'ai est que je ne peux pas utiliser le nom par défaut ici car il est mot clé java comment puis-je faire face à ce problème

Répondre

2

vous pouvez utiliser l'annotation à la coutume nom JSON utilisé pour une propriété comme celui-ci:

public class ThumbNailUrlDTO { 

    private String small; 

    private String medium; 


    private String large; 

    @JsonProperty("default") 
    private String defaultVal; 
} 

De cette façon, vous pouvez éviter d'utiliser mot-clé java « par défaut ».

5

oui « default », invalide VariableDeclaratorId, vous pouvez n'utilise pas default comme nom de variable dans java, c'est un mot-clé prédéfini dans java.

changement de nom de variable & carte comme celui-ci pour le nom de domaine JSON: - utilisation @JsonProperty:

public class ThumbNailUrlDTO { 
    @JsonProperty("small") 
    private String small; 

    @JsonProperty("medium") 
    private String medium; 

    @JsonProperty("large") 
    private String large; 

    @JsonProperty("default") 
    private String defaultStr; 
} 

Cela résoudra la question.