2013-05-22 8 views

risposta

7

Si dovrebbe implementare la nuova strategia di denominazione per il vostro caso:

class LowerCaseNamingStrategy extends LowerCaseWithUnderscoresStrategy { 

    private static final long serialVersionUID = 1L; 

    @Override 
    public String translate(String arg0) { 
     return arg0.toUpperCase(); 
    } 
} 

Dopo di che, configurare ObjectMapper

ObjectMapper objectMapper = new ObjectMapper(); 
objectMapper.setPropertyNamingStrategy(new LowerCaseNamingStrategy()); 

Vedi anche @JsonProperty annotazione.

+0

Grazie per la risposta. Ho risolto questo problema usando l'annotazione @JsonProperty. Dopo la tua risposta, ma dato che hai dato la risposta giusta, lo accetterò. :) –

3

Grazie ho risolto questo problema utilizzando @JsonProperty annotazione

@JsonProperty("ANIMALS") 
    private string animals; 
10

Costruzione off di risposta di Deepak, a seconda di come avete Jackson configurato, si potrebbe necessità di mettere il @JsonProperty sui selettori & getter invece della proprietà o si potrebbero ottenere proprietà duplicate nel JSON risultante.

Esempio

@JsonProperty("ANIMALS") 
private string animals; 

Risultati in ... {animals:"foo",ANIMALS:"foo"}

private string animals; 

@JsonProperty("ANIMALS") 
public String getAnimals(){...} 

Risultati in ... {ANIMALS:"foo"}

+0

hai ragione, dopo aver messo l'annotazione sul metodo getter, produce solo quello maiuscolo ... grazie – danisupr4

+1

Pulito e diretto, grazie –

Problemi correlati