例如,我有以下 json 响应:
{
StaTuS:succees,
LanGuaGes: {
Key1: English,
key2: Spanish,
kEy3: Indian
}
}
响应可以有许多嵌套元素。我想知道如何以这样的方式进行编码,使我的响应中的所有键都可以转换为大写,以便它与我在 POJO 类中使用的命名约定相匹配。
像这样:
{
STATUS:succees,
LANGUAGES: {
KEY1: English,
KEY2: Spanish,
KEY3: Indian
}
}
最佳答案
您可以使用自定义 PropertyNamingStrategy:
public class UpperCaseStrategy extends PropertyNamingStrategyBase {
@Override
public String translate(String propertyName) {
return propertyName.toUpperCase();
}
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setPropertyNamingStrategy(new CustomNamingStrategy());
参见here以供引用。
请注意,在 com.fasterxml.jackson.databind.PropertyNamingStrategy
中实现了小写策略,如下所示:
/**
* Simple strategy where external name simply only uses lower-case characters,
* and no separators.
* Conversion from internal name like "someOtherValue" would be into external name
* if "someothervalue".
*
* @since 2.4
*/
public static class LowerCaseStrategy extends PropertyNamingStrategyBase
{
@Override
public String translate(String input) {
return input.toLowerCase();
}
}
关于java - 如何将 JSON 响应中的所有键转换为大写? (JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34677874/