将两个类似的json字段编组到同一个java字段

前端之家收集整理的这篇文章主要介绍了将两个类似的json字段编组到同一个java字段前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个示例虚拟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
    }

以上是一个愚蠢的例子,但它有助于说明我试图使用Jackson将上述内容反序列化为名为“Employee”的Java类:

public class Employee {
    String name;
    String address;
    String phoneNumber;
}

问题是JSON有两个不同的prepends所以我不能在Employee中注释每个字段,并且让对象映射器将teacher_name和student_name映射到Employee对象中的name字段.杰克逊有没有办法指定两个不同名称的节点来映射到同一个Java字段?

最佳答案

So in my example,I should end up with two Employee objects (I am guaranteed to have one pair per response)

杰克逊是不可能的.它旨在将一对一映射:一个json对象映射到一个java对象.但是你想从一个json中得到两个java对象.

我建议你通过实现一些消耗Response并将其映射到两个Employee对象的处理级别来实现前进的方式.

猜你在找的Java相关文章