我正在使用两个JSON。
第一个将ID作为字符串。
"details": {
"id": "316.0"
}
另一个的ID为Integer。
"details": {
"detailId": 316
}
两个JSON都使用FasterXML映射到两个不同的类。我希望两个ID都是整数。现在他们是String。
如何强制ForceXML将“316.0”转换为Integer,以便轻松比较这两个属性?
答案 0 :(得分:8)
杰克逊实际上处理强制,因此如果属性具有类型int
或java.lang.Integer
,它将解析JSON字符串,而不仅仅是使用JSON数字。
也可以使用@JsonFormat(shape=Shape.STRING)
作为数字字段进行反向。
答案 1 :(得分:2)
由于您并不总是使用相同的格式,因此最好的方法是将其作为字符串检索并解析它:
int detailId = (int) Float.parseFloat(node.path("details").asText());