我有以下JSON
{
"cmop": {
"1001678": {
"info": {
"1005485": {"wt":1}
}
},
"1001671": {
"info": {
"1005482": {"wt":2}
}
},
"1001679": {
"info": {
"1005488": {"wt":3}
}
}
}
}
下面是我的模型类
public class Campaign {
@JsonProperty("cmop")
private CostDeal costDeal;
}
成本交易类
public class CostDeal {
private Map<String,CostDetail> costDetail;
}
成本明细类
public class CostDetail{
@JsonProperty("wt")
private int weightage;
}
我得到的costDetail
Map对象为空。我错过了什么吗?
4条答案
按热度按时间nqwrtyyt1#
不知道您是如何解析的,但考虑到其他一切都是正确的,并且只是为了查看您共享的代码片段,您在错误的位置添加了
@JsonProperty("cmop")
注解。它必须与您的costDetail对象相关联,因为您试图在costDetail MAP中指定json标记“cmop”的值。kcugc4gi2#
由于您的Map中似乎存在不匹配(请参阅我的注解),所以我做了一些假设,在
Campaign
的正下方添加了一个额外的类,因此这里有一个应该是可解析的模型(为了简单起见,保留getter和setter):vulvrdjw3#
变更模式
类Campaign公共类Campaign { @JsonProperty(“cmop”)私有Map〈Long,CostDeal〉mapCostDeal;}
类CostDeal公共类CostDeal { @JsonProperty(“info”)私有Map〈长,成本细节〉成本细节;}
类CostDetail公共类CostDetail { @JsonProperty(“wt”)私有整数权重;}
gorkyyrv4#
您在错误的位置添加了@JsonProperty(“cmop”)注解。
它必须与您的
costDetail
对象相关联,因为您正在尝试将json标记“cmop”的值获取到costDetail
MAP中。