【问题标题】:Mapping a Json variable with "-" to Java property [duplicate]将带有“-”的Json变量映射到Java属性[重复]
【发布时间】:2018-04-05 08:55:35
【问题描述】:

我正在调用一个返回 JSON 对象的休息服务,其中一个字段是 error-codes。现在如何在 Java 中将变量声明为 '-' 是不允许的。

JSON如下

 {
      "success": true|false,
      "error-codes": [...]       
    }

这没用

private List<ErrorCodes> errorCodes;

也不

private List<ErrorCodes> errorcodes; 

【问题讨论】:

  • 您需要编写自定义反序列化器
  • 这可能取决于您使用的映射器库。愿意告诉我们吗?
  • 我认为您可以巧妙地做一件事,只需获取响应并将“错误代码”替换为您想要的任何值,然后将其映射到您想要的对象。它应该工作
  • 杰克逊,你使用的是哪个 json 库?
  • 是的,我正在使用杰克逊图书馆

标签: java json


【解决方案1】:

您必须使用 JSON 解析器,例如 Jackson。在这种情况下使用:

@JsonProperty("error-codes")
private List<ErrorCodes> errorCodes;

【讨论】:

    【解决方案2】:

    你没有提到你使用什么样的反序列化器。大多数反序列化程序使用字段上的一些注释。例如在杰克逊,你可以这样做:

    @JsonProperty("error-codes")
    private List<ErrorCodes> errorCodes;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      • 2019-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      • 1970-01-01
      相关资源
      最近更新 更多