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