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 […]
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 ? […]
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 […]
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 […]
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 […]
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. […]
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 […]
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 […]
¿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 […]
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 […]