Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

423
Vistas
¿Cómo imprimir bastante un objeto Java complejo (por ejemplo, con campos que son colecciones de objetos)?

Estoy buscando una función de biblioteca (idealmente de un marco de uso común, por ejemplo, Spring, Guava, Apache Commons, etc.) que imprima muy bien los valores de cualquier objeto Java.

Esta es una pregunta general más que específica. He visto preguntas similares en StackOverflow para las cuales una respuesta común es "implemente su propio método toString() en la clase", pero esta opción no siempre es práctica. Estoy buscando una forma general de hacer esto con cualquier objeto que encuentre, que puede tener su origen en un código de terceros. Otra sugerencia es usar RefectionToStringBuilder de Apache Commons, por ejemplo:

 new ReflectionToStringBuilder(complexObject, new RecursiveToStringStyle()).toString()

Pero esto tiene un uso limitado, por ejemplo, cuando se encuentra con una colección, tiende a generar algo como esto:

 java.util.ArrayList@fcc7ab1[size=1]

Un ejemplo de caso de uso real es registrar un Iterable<PushResult> devuelto por el método pushCommand.call() de JGit. Si publica una respuesta, asegúrese de que funcione con este y con cualquier otro objeto complejo.

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Podrías probar y usar Gson. también serializa Arrays, Maps o lo que sea....

 MyObject myObject = new MyObject(); Gson gson = new GsonBuilder().setPrettyPrinting().serializeNulls().create(); gson.toJson(myObject);

Para el uso de deserialización:

 gson.fromJson(MyObject.class);

Para mapas escritos, vea esta respuesta: Gson: ¿Hay una manera más fácil de serializar un mapa?

about 4 years ago · Santiago Trujillo Denunciar

0

Puede usar la clase Jackson ObjectMapper para vincular datos con json. Puedes usarlo como a continuación:

 ObjectMapper mapper = new ObjectMapper();

puedes guardar json en un objeto como el siguiente

 Object json = mapper.readValue(input,object.class);

puedes escribir eso en variable de cadena

 String prettyJson = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json);

debería funcionar bien.

about 4 years ago · Santiago Trujillo Denunciar

0

Puede usar GSON para convertir su objeto en una cadena. Esto funcionará para todos los objetos,

 Gson gson = new Gson(); System.out.println(gson.toJson(objectYouWantToPrint).toString());
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda