【发布时间】: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 有什么错误可以发布堆栈跟踪