我有一個JSON文件,該文件是這樣的:傑克遜分析器Model類來解析大寫性能
{
"ANIMALS": {
"TYPE": "MAMMAL",
"COLOR": "BLACK",
"HEIGHT": "45",
}
}
,但我得到找不到屬性錯誤。如果我將它改爲動物(小寫)。它工作正常。任何人都可以建議我這個樣本json文件的模型類,這將正確解析。
我有一個JSON文件,該文件是這樣的:傑克遜分析器Model類來解析大寫性能
{
"ANIMALS": {
"TYPE": "MAMMAL",
"COLOR": "BLACK",
"HEIGHT": "45",
}
}
,但我得到找不到屬性錯誤。如果我將它改爲動物(小寫)。它工作正常。任何人都可以建議我這個樣本json文件的模型類,這將正確解析。
你應該實施新的命名策略對於您的情況:
class LowerCaseNamingStrategy extends LowerCaseWithUnderscoresStrategy {
private static final long serialVersionUID = 1L;
@Override
public String translate(String arg0) {
return arg0.toUpperCase();
}
}
之後,配置ObjectMapper
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setPropertyNamingStrategy(new LowerCaseNamingStrategy());
又見@JsonProperty
註解。
感謝我使用@JsonProperty註釋
@JsonProperty("ANIMALS")
private string animals;
大廈關閉Deepak的答案的解決了這個問題,這取決於你已經配置傑克遜怎麼樣,你可能必要把在獲取者&設置器上的@JsonProperty
而不是屬性,或者您可能在生成的JSON中獲得重複的屬性。
例
@JsonProperty("ANIMALS")
private string animals;
結果... ...在{ANIMALS:"foo"}
你說得對,在我把註釋放在getter方法後,它只產生大寫字母......謝謝 – danisupr4
乾淨而直截了當,謝謝 –
謝謝您的回答
{animals:"foo",ANIMALS:"foo"}
結果。我使用@JsonProperty註解解決了這個問題。在那之後查看你的答案,但既然你給出了正確的答案,我會接受它。 :) –