Estoy analizando la respuesta de last.fm API. Pero parece que usaron alguna envoltura para algunas de las respuestas, lo que está causando un poco de dolor. Para poner un ejemplo:Jackson handling Elementos envueltos
{
"artists":{
"artist":[
{
"name":"Coldplay",
"playcount":"816763",
"listeners":"120815",
"mbid":"cc197bad-dc9c-440d-a5b5-d52ba2e14234",
"url":"http:\/\/www.last.fm\/music\/Coldplay",
"streamable":"1"
},
{
"name":"Radiohead",
"playcount":"846668",
"listeners":"99135",
"mbid":"a74b1b7f-71a5-4011-9441-d0b5e4122711",
"url":"http:\/\/www.last.fm\/music\/Radiohead",
"streamable":"1"
}
],
"@attr":{
"page":"1",
"perPage":"2",
"totalPages":"500",
"total":"1000"
}
}
}
No sólo la respuesta está envuelto en los artistas oponerse, pero la matriz de objeto tiene también una envoltura objeto.
Así como una clase contenedora:
public class LastFMArtistWrapper {
public List<Artist> artists;
}
no funcionaría. Trabajé alrededor de esto, creando dos clases de contenedor, pero esto se ve realmente feo. ¿Hay alguna manera de que podamos usar algo como @XMLElementWrapper en Jackson?
Una de las ventajas de esta configuración es que es extensible. Si agregan más propiedades a la respuesta JSON, puede agregarlas fácilmente a sus objetos. Sin embargo, si lo manipula, es posible que deba deshacerlo más adelante si el JSON cambia nuevamente. Puede valer la pena mantener las cosas como están. Esa es solo mi sugerencia. Buena suerte encontrando una respuesta. +1 para la pregunta. – jmort253