【问题标题】:Json mapping to Java objectJson 映射到 Java 对象
【发布时间】:2017-06-07 05:26:00
【问题描述】:

我从第三方服务提供商那里得到了非常奇怪的 Json 对象,但我在实现相同时遇到了问题。下面是json对象。

{
  "signers": [
    "xyz@abc.com"
  ],
  "will_self_sign": true,
  "signatory": "nbc@hgj.com",
  "callback": "79474939202836",
  "comment": "Please sign the document",
  "expire_in_days": 10,
  "display_on_page": "all",
  "sign_coordinates": {
    "xyz@abc.com": {
      "1": [
        {
          "llx": 315,
          "lly": 20,
          "urx": 455,
          "ury": 60
        }
      ]
    },
    "xyz1@abc.com": {
      "1": [
        {
          "llx": 315,
          "lly": 20,
          "urx": 455,
          "ury": 60
        }
      ],
      "2": [
        {
          "llx": 315,
          "lly": 20,
          "urx": 455,
          "ury": 60
        }
      ],

    }
  }
}

我的 Java 对象如下所示

@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DigioUpload {

    @JsonProperty(value = "signers", required = true)
    public List<String> signers;

    @JsonProperty(value = "will_self_sign")
    public Boolean willSelfSign;

    @JsonProperty("signatory")
    public String signatory;

    @JsonProperty("callback")
    public String callback;

    @JsonProperty("comment")
    public String comment;

    @JsonProperty(value = "expire_in_days")
    public Integer expireInDays;

    @JsonProperty("display_on_page")
    public String displayOnPage;

    @JsonProperty("sign_coordinates")

    public Map<String, SignDetails> signCoordinates;

}


public class SignDetails {

    public HashMap<String, SignCoordinates> details;

}

public class SignCoordinates {


    public Map<String, List<Coordinates>> coordinates;


}

class Coordinates {

    public Integer llx;
    public Integer lly;
    public Integer urx;
    public Integer ury;
}

无法映射动态键内的对象,如"xyz@abc.com" 任何帮助表示赞赏。

结果如下:

{"signers":["xyz@abc.com"],"will_self_sign":true,"signatory":"nbc@hgj.com","callback":"79474939202836","comment":"Please sign the document","expire_in_days":10,"display_on_page":"all","sign_coordinates":{"xyz@abc.com":{},"xyz1@abc.com":{}}}

【问题讨论】:

  • @Onkar 这如何解决我的问题?
  • 利用哈希图来解决你的问题,我猜这取决于填充哈希图的键中对象的数量
  • @RahulSingh 我已经这样做了。它不工作。
  • @SouravGanguly 有什么错误可以发布堆栈跟踪

标签: java json jackson


【解决方案1】:

没关系,我通过将 public Map&lt;String, SignDetails&gt; signCoordinates; 转换为 public Map&lt;String, Object&gt; signCoordinates 使其工作;

【讨论】:

    猜你喜欢
    • 2013-04-17
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 2013-07-08
    • 2014-08-03
    • 1970-01-01
    相关资源
    最近更新 更多