相关疑难解决方法(0)

org.codehaus.jackson与com.fasterxml.jackson.core

org.codehaus.jackson和com.fasterxml.jackson.core有关吗?我有

org.codehaus.jackson jackson-all version 1.7.2

com.fasterxml.jackson.core> jackson-databind版本2.4.3

在我的pom.我不确定它们是否多余且可能发生冲突.

java json jackson

91
推荐指数
1
解决办法
4万
查看次数

@Valid 在没有控制器的情况下使用 jackson 创建对象时

我有一个模型,当从前端发送请求时,我在控制器中使用 @Valid 进行验证:

@NotNull
@Size(min=1, message="Name should be at least 1 character.")
private String name;

@NotNull
@Pattern(regexp = "^https://github.com/.+/.+$", message = "Link to github should match https://github.com/USER/REPOSITORY")
private String github;
Run Code Online (Sandbox Code Playgroud)

但现在我也在用杰克逊的 ObjectMapper 创建一个没有控制器的对象。有没有办法在 ObjectMapper 中注册这个验证,或者我应该只检查 setter 中的变量?

java spring jackson

9
推荐指数
1
解决办法
5324
查看次数

是否可以在类级别为不同的数据类型配置 Jackson 自定义反序列化器?

我需要反序列化一个又长又复杂的json,为此我编写了一组java类来映射数据,并且我必须为许多不同类型的字段(包括String、Boolean、BigDecimal等)编写自定义反序列化器。

我知道我可以使用相应的自定义反序列化器注释 java 类中的所有字段(如下所示),但随后我需要注释所有类中的几乎所有字段。

@JsonDeserialize(using = CustomBooleanJsonDeserializer.class)
private boolean active;
Run Code Online (Sandbox Code Playgroud)

我还知道我可以在 Spring 默认情况下注册一个模块ObjectMapper(如此),但我只想对这些特定的类使用这些自定义反序列化器。

@Bean
public Module customDeserializersModule() {
    SimpleModule module = new SimpleModule();
    module.addDeserializer(Boolean.class, new CustomBooleanJsonDeserializer());
    // add other custom deserializers 
    return module;
}
Run Code Online (Sandbox Code Playgroud)

ObjectMapper我什至知道我可以在 中使用自定义RestController,但我不想放弃通过自动数据绑定的便利@RequestBody,因为我必须防止其他人在没有必要的自定义反序列化器的情况下使用它。

@RequestMapping(method = RequestMethod.POST, value = "/data")
public ResponseEntity<ServerInfo> register(@RequestBody DataMapper data) {
   // DataMapper is the target POJO class of the json's deserialization
}
Run Code Online (Sandbox Code Playgroud)

简而言之,我正在班级层面寻找类似的东西:

@JsonDeserialize(using = CustomStringJsonDeserializer.class, forType = String.class)
@JsonDeserialize(using = …
Run Code Online (Sandbox Code Playgroud)

java spring json jackson deserialization

4
推荐指数
1
解决办法
8299
查看次数

标签 统计

jackson ×3

java ×3

json ×2

spring ×2

deserialization ×1