Сериализация / десериализация только содержимого списка / массива, а не имени массива - PullRequest
0 голосов
/ 23 ноября 2018

Я новичок в этой сериализации и десериализации Джексона.Я исследовал много ссылок по моей проблеме, не нашел ни одной.Поэтому я публикую это здесь.Пожалуйста, помогите!

У меня есть три класса (сущности), которые я хочу сериализовать и десериализовать:

MyStackClass и класс MyService отображаются классом MyServiceMapping.

public class MyStackClass implements Serializable, Entity {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="ID")
    private int id;

    @OneToMany
    private List<MyserviceMapping> services;

}

public class MyserviceMapping implements Serializable,Entity {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;

    @ManyToOne
    private MyStackClass myStackClass;

    @ManyToOne
    private MyService myService;

}

public class MyService implements Entity{
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int myServiceId;

    @OneToMany
    private  List<MyServiceMapping> myServices;

}

Теперь, когда я сериализую MyStackClass: сгенерированный json будет выглядеть так:

{
"id":1,
"services":[
     {"myService":
          {
             "myServiceId":27
          }
     },
     {"myService":
          {
             "myServiceId":3
          }
     }
]
}

Но мой клиент говорит, что это не относится к ответным инструкциям.У json не должно быть лишнего тега myService внутри списка, поскольку уже понятно, что это список сервисов.это должно выглядеть так:

 {
    "id":1,
    "services":[
              {"myServiceId":27},
              {"myServiceId":3}
    ]
    }

Я пробовал некоторые решения, но ничего не получалось. Я не хочу вдаваться в ручную настройку JSON, я смотрю на подход чистого Джексона.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...