Articles of jackson

Deserializar JSON en un objeto existente (Java)

Me gustaría saber cómo se puede obtener la biblioteca Jackson JSON para deserializar JSON en un objeto existente. He tratado de encontrar cómo hacerlo; pero parece que solo es capaz de tomar una clase y crear una instancia de sí mismo. O si no es posible, me gustaría saber si cualquier biblioteca de deserialización Java […]

Deserializar tipos polimórficos con Jackson

Si tengo una estructura de clase así: public abstract class Parent { private Long id; … } public class SubClassA extends Parent { private String stringA; private Integer intA; … } public class SubClassB extends Parent { private String stringB; private Integer intB; … } ¿Hay una forma alternativa de deserializar diferente de @JsonTypeInfo ? […]

Biblioteca Jackson JSON: cómo crear una instancia de una clase que contiene campos abstractos

Quiero convertir una cadena JSON en un objeto java, pero la clase de este objeto contiene campos abstractos, que Jackson no puede crear instancias, y no produce el objeto. ¿Cuál es la forma más sencilla de contarle sobre alguna implementación predeterminada de una clase abstracta, como setDefault(AbstractAnimal.class, Cat.class); o para decidir sobre la clase de […]

Json y Java – Referencia circular

Estoy teniendo y problema con la referencia Circular. Tengo Rest Webservices que devuelve los objetos a la interfaz, el problema es cuando trato de devolver objetos que tienen varias referencias, así que como resultado obtengo una respuesta infinita, que genera java.lang.IllegalStateException: Cannot call sendError() after the response has been committed Los objetos son generados automáticamente […]

¿Cómo crear un deserializador personalizado en Jackson para un tipo genérico?

Imagine el siguiente escenario: class Foo { …. } class Bar { Foo foo; } Quiero escribir un deserializador Jackson personalizado para Foo. Para hacer eso (por ejemplo, para deserializar la clase Bar que tiene la propiedad Foo ), necesito saber el tipo concreto de Foo , utilizado en Bar , en el tiempo de […]

Consulta un JSONObject en java

Me preguntaba si en algún lugar existe una libreria java capaz de consultar un JSONObject. Más en profundidad, estoy buscando algo como: String json = “{ data: { data2 : { value : ‘hello’}}}”; … // Somehow we managed to convert json to jsonObject … String result = jsonObject.getAsString(“data.data2.value”); System.out.println(result); Espero obtener “hola” como salida. […]

Deserialización JSON personalizada con Jackson

Estoy usando la API de Flickr . Al llamar al método flickr.test.login , el resultado predeterminado de JSON es: { “user”: { “id”: “21207597@N07”, “username”: { “_content”: “jamalfanaian” } }, “stat”: “ok” } Me gustaría analizar esta respuesta en un objeto Java: public class FlickrAccount { private String id; private String username; // … getter […]

Excepción en el hilo “principal” java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonFactory.requiresPropertyOrdering () Z

Necesito convertir json en pojo. Decidí usar jackson y agregué jackson-core-2.2.0.jar, jackson-databind-2.4.4.jar y jackson-annotations-2.1.2.jar al classpath de mi proyecto Creé siguiente clase Main : import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.DeserializationFeature; public class Json […]

Spring @JsonIgnore no funciona

¿Cómo puedo hacer que @JsonIgnore funcione? Tengo una clase. E incluso si pongo la anotación allí, no tiene ningún efecto en la salida. Estoy usando Jackson. public class QuestionBlock implements ComparableByID{ int ID; String title; String description; boolean deleted; boolean isDraft; boolean visible; Timestamp modifiedDate; String modifiedBy; private List questions = new ArrayList(); @JsonIgnore private […]

Use el nombre de la clase como clave raíz para la serialización JSON Jackson

Supongamos que tengo un pojo: import org.codehaus.jackson.map.*; public class MyPojo { int id; public int getId() { return this.id; } public void setId(int id) { this.id = id; } public static void main(String[] args) throws Exception { MyPojo mp = new MyPojo(); mp.setId(4); ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true); System.out.println(mapper.getSerializationConfig().isEnabled(SerializationConfig.Feature.WRAP_ROOT_VALUE)); System.out.println(mapper.writeValueAsString(mp)); } } Cuando […]