我有一个示例虚拟JSON响应,如下所示:
{
"id": 1,
"teacher_name": "Foo",
"teacher_address": "123 Main St.",
"teacher_phone_num": 1234567891,
"student_name": "Bar",
"student_address": "546 Main St.",
"student_phone_num": 9184248576
}
Run Code Online (Sandbox Code Playgroud)
以上是一个愚蠢的例子,但它有助于说明我试图使用Jackson将上述内容反序列化为名为"Employee"的Java类:
public class Employee {
String name;
String address;
String phoneNumber;
}
Run Code Online (Sandbox Code Playgroud)
问题是JSON有两个不同的prepends所以我不能在Employee中注释每个字段,并且让对象映射器将teacher_name和student_name映射到Employee对象中的name字段.杰克逊有没有办法指定两个不同名称的节点来映射到同一个Java字段?
因此,在我的示例中,我最终应该得到两个 Employee 对象(我保证每个响应都有一对)
对于杰克逊来说这是不可能的。它旨在一对一映射:一个 json 对象到一个 java 对象。但是您希望最终从一个 json 中得到两个 java 对象。
我建议您通过实现一些处理级别来采用直接的方式,该处理级别将消耗Response
并将其映射到两个Employee
对象。
归档时间: |
|
查看次数: |
367 次 |
最近记录: |