Java 使用Jackson处理首字母大写

今天写项目呢,遇到api需要的对象属性首字母都是大写的
使用Jackson
进行json序列化之后,首字母都变成了小写的
传送参数到api接口全都报错
后来查证,可以继承PropertyNamingStrategy
来实现
留代码备用
public static String toJson(Object obj) {
String json = null;
ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(new PropertyNamingStrategy() {
private static final long serialVersionUID = 1L;
// 反序列化时调用
@Override
public String nameForSetterMethod(MapperConfig<?> config,
AnnotatedMethod method, String defaultName) {
return method.getName().substring(3);
}
// 序列化时调用
@Override
public String nameForGetterMethod(MapperConfig<?> config,
AnnotatedMethod method, String defaultName) {
return method.getName().substring(3);
}
});
try {
json = mapper.writeValueAsString(obj);
} catch (Exception e) {
e.printStackTrace();
}
return json;
}
另外注解也行
@JsonProperty(value = "Name")
private String name;