gpt4 book ai didi

java - JSON 字段 - 将字符串解析为 Int

转载 作者:行者123 更新时间:2023-12-02 07:47:23 27 4
gpt4 key购买 nike

有一个相对简单的(我认为)问题,但作为 JSON 新手似乎无法找到一个简洁的解决方案。

我有一个 Entity 对象,其 Id 字段为 Integer 类型。但是,传入的要映射的 Json 数据的 id 为字符串。

有了这个,简单的 map 似乎是不可能的。有没有办法在映射之前将 JSON 中的字符串数据更改为整数?

Json 数据示例

{"Id": "021", "userAge": 99}

示例实体

@Entity
public class User{

@id
int userId;
int userAge;
}

非常感谢。

最佳答案

你不需要。

如果目标字段是数字,Jackson 足够聪明,可以将 JSON 字符串转换为数字值。

前导 0 的含义并不明显,但 Jackson 会忽略它。

此外,如果您的字段名称在 Java 中不同,您将需要 @JsonProperty("theJsonName")

public class Jackson {
public static void main(String[] args) throws Exception {
String json = "{\"userId\": \"021\", \"userAge\": 99}";
ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(json, User.class);
System.out.println(user.userId);
}
}

class User {
int userId;
int userAge;
public void setUserId(int userId) {
this.userId = userId;
}
public void setUserAge(int userAge) {
this.userAge = userAge;
}
}

打印

21

关于java - JSON 字段 - 将字符串解析为 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28678707/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com