Wygląda na to, że powinien to być dość rozwiązany/dobrze rozwiązany problem, ale nie znajduję w nim wielu wskazówek - mając nadzieję, że to nie jest dupe.Usuwanie pola z obiektów zagnieżdżonych w ramach odpowiedzi JSON z Jackson
Mój scenariusz jest po prostu, że jestem zużywa paginowane odpowiedzi JSON, które wyglądają mniej więcej tak:
{
"objects": [...],
"meta": {
"total": 5000,
"page": 1,
"result_pages": 20,
"links": {
"prev": null,
"next": "/api/v3/objects/somequery?page=2"
}
}
}
Oczywiście jest to uproszczenie, ale miejmy nadzieję, że dostaje punkt w poprzek.
Wszystko, co naprawdę mnie interesuje, to pola objects
i , ale wygląda na to, że będę musiał stworzyć całą hierarchię DTO, aby pomyślnie deserializować zagnieżdżone pola.
Czy istnieje adnotacja jackson, która pozwoliłaby mi pominąć to wszystko? Jeśli nie, czy istnieje zestaw sprawdzonych metod postępowania, który nie obejmuje większości pustych klas i plików?
Czy to może być łatwiej po prostu użyć ww 'JsonDeserializer' z dopiskiem na "String next" właściwość i po prostu udawaj, że jest płaska, na tym samym poziomie katalogu głównego co '" obiekty "'? –
@ap, Możesz użyć tej adnotacji w inny sposób, nawet w górnej części klasy, tutaj dokumentacja, https://fasterxml.github.io/jackson-databind/javadoc/2.3.0/com/fasterxml/jackson/databind /annotation/JsonDeserialize.html – SerCe
Dla przyszłych misjonarzy, powinienem wspomnieć, że powyższa odpowiedź używa metody '.asText()', która wydaje się błędna. Skończyło się na użyciu '.textValue()' po trochę pracy i działa jak urok. –