在Spring

时间:2017-07-19 11:52:42

标签: java json spring spring-mvc serialization

尝试找一些property来禁用序列化策略。 spring.jackson.property-naming-strategy还有其他选项,但如何完全禁用它?

@GetMapping(produces = arrayOf("application/json"))
@ResponseBody
Obj handle(){
   return new Obj();
}

class Obj{
   String xValue = "value";
}

默认策略将xValue更改为xvalue

{
   "xvalue":"value"
}

2 个答案:

答案 0 :(得分:0)

没有办法彻底禁用杰克逊的命名策略。默认情况下,如果没有使用策略,它将保持字段名称不变。

  

如果没有注册的自定义策略,则默认使用Java属性   使用命名策略,将字段名称保留为原样,然后删除   set / get /是方法的前缀(以及小写的初始值)   大写字符序列)。

仅供参考,杰克逊自己的作者here are some details about implementing your own custom naming strategy

来源https://fasterxml.github.io/jackson-databind/javadoc/2.8/com/fasterxml/jackson/databind/PropertyNamingStrategy.html

答案 1 :(得分:0)

我有同样的问题。您可以使用

spring.jackson.mapper.USE_STD_BEAN_NAMING=true
application.properties文件中

使用您的bean的默认名称