我有一个这样的 json,我曾经使用对象映射器将它映射到一个类,我在 UserData.java 类中将auth视为 JsonNode
{
"auth": [
{
"user_admin": [
{
"name": [
"harry"
],
"department": [
"MC"
],
"userid": [
"1234"
]
}
]
},
{
"user_employee": [
{
"name": [
"stella"
],
"department": [
"CC"
],
"role": [
"employee"
]
}
]
}
],
"language":"english",
"sub": "f598ab"
}
我已使用 json 节点进行身份验证,将其映射到 UserData.java 类,如下所示。
@Getter@Setter
private JsonNode authorization;
@Getter@Setter
private String language;
@Getter@Setter
private String sub;
现在我想将动态的值 user_admin 和 user_employee 映射到另一个具有名称、部门、用户 ID 的类。我创建了一个类 auth.java 并将此代码放入其中。
@Getter @Setter
private List< String> name;
@Getter @Setter
private List<String> department;
@Getter @Setter
private List<String> userid;
@Getter @Setter
private List<String> role;
现在我已经尝试了下面的代码来映射它,但它不起作用我得到
UserData mappedObject= (UserData)commonUtils.readJsonStringRespondToObjRequest((json), UserData.class);
Auth roleData= mapper.treeToValue(mappedObject.getAuth(), Auth.class);
我得到的错误是
Can not deserialize instance of Auth.java out of START_ARRAY