gpt4 book ai didi

java - 使用 Jackson 进行内部静态对象反序列化

转载 作者:行者123 更新时间:2023-12-02 03:37:32 28 4
gpt4 key购买 nike

我正在尝试像这样反序列化 json:

{ “用户.getToken”:{ “代码”:“200”, “ token ”:“0155649ce3ea4be98da9fc29376d8688”, “用户名”:“Andruw137”, “user_avatar”:“https://text.com/images/avatar/_/81546.png” }}

使用这些代码行:

ObjectMapper mapper = new ObjectMapper(); 

TokenRequest tokenRequest = mapper.readValue(String.valueOf(response), TokenRequest.class);

还有这个:

public class TokenRequest {

@JsonProperty("User.getToken")
public User user = new User();

public User getUser() {
return user;
}

public void setUser(User user) {
this.User = user;
}

static class User {
int code;
String token;
String user_name;
String user_avatar;

public int getCode() {
return code;
}

public String getToken() {
return token;
}

public String getUser_name() {
return user_name;
}

public String getUser_avatar() {
return user_avatar;
}

public void setCode(int code) {
this.code = code;
}

public void setToken(String token) {
this.token = token;
}

public void setUser_name(String user_name) {
this.user_name = user_name;
}

public void setUser_avatar(String user_avatar) {
this.user_avatar = user_avatar;
}
}

}

我已阅读文档但仍然收到错误:

com.fasterxml.jackson.databind.JsonMappingException: Can not instantiate value of type [simple type, class ru.amdm.amdm.authorization.TokenRequest] from Integral number (404); no single-int-arg constructor/factory method
at [Source: 404 .1; line: 1, column: 1]

我想了解该错误消息的含义以及如何实际反序列化这样的 json。预先感谢您的任何帮助。

最佳答案

您正在尝试将字符串 "code": "200" 反序列化为整数。如果您删除引号,这将起作用:“code”:200

另外,请在对象字段中添加 @JsonProperty("json_name") 注解,并使用标准驼峰式大小写命名:

@JsonProperty("user_avatar")
字符串用户头像;

关于java - 使用 Jackson 进行内部静态对象反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37253705/

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