java - 重命名 Spring 中 MappingJacksonJsonView 使用的 JSON 字段

标签 java json spring spring-mvc jackson

我正在使用 MappingJacksonJsonView 将类序列化为 JSON,但是,我希望能够根据 getter 名称从默认名称重命名某些字段。

这是因为我必须为 jQuery 文件上传输出像“delete_url”和“delete_type”这样的字段名称。我正在使用@Jsonserialize 注释来手动选择要序列化的字段。

@JsonAutoDetect(getterVisibility = Visibility.NONE)
public interface Picture {

    @JsonSerialize
    String getName();

    @JsonSerialize
    String getDelete_url();

    ...

例如,我被迫调用一个方法getDelete_url(),而我想调用它getDeleteUrl(),但仍然输出 key “delete_url” 序列化为 JSON 时。

最佳答案

您应该能够使用 @JsonProperty 获得资格.

@JsonAutoDetect(getterVisibility = Visibility.NONE)
public interface Picture {

  @JsonSerialize
  @JsonProperty("name")
  String getName();

  @JsonSerialize
  @JsonProperty("delete_url")
  String getDeleteUrl();

  //...

关于java - 重命名 Spring 中 MappingJacksonJsonView 使用的 JSON 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7893619/

相关文章:

测试期间发送 post 请求时出现 JSON 解码错误

java - Spring Boot 集成测试通过注释加倍?

java - 注释@Transactional。如何回滚?

java - 接口(interface)方法中的返回类型应该是什么

Java 访问 JSON 字符串中的数据

php - 如何将 jQuery 回调函数的值传递给 PHP 脚本以进行进一步验证?

java - Spring Security OAuth2 的 Web 和移动客户端

java - 更改方法可访问性以对其进行测试

java - 如何修复 maven 中俄语编码的错误?

java - 在 Json Resteasy 上处理集合(多对多)的递归引用