ejemplo - string to json javascript
Springboot Jackson devuelve array en lugar de objeto json adecuado (1)
Tengo el siguiente código de controlador.
@RequestMapping(value = "/testService/test", produces = MediaType.APPLICATION_JSON_VALUE)
public HttpEntity<TestBean> test(@RequestParam Map<String,String> testReq) {
...
List<Test> objList=testRepository.test();
testBean.setObjects(objList);
...
return new ResponseEntity<TestBean>(testBean, HttpStatus.OK);
}
TestBean contiene una lista de objetos de prueba (con getters / setters y algunos otros atributos) como se muestra a continuación
private List<Test> objects;
La clase de prueba se define como abajo
@Entity
@Table(name="TEST")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Test implements Serializable{
private static final long serialVersionUID = -5319848003675140194L;
@JsonIgnore
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="TEST_ID")
Integer testId;
...
El método test () se define a continuación.
@Query(value="SELECT ...", nativeQuery=true)
List<Test> test();
La salida json que veo es la siguiente
{"requestId":"testRequestId","objects":[[1,"Test name"],[2,"Test name2"]],"status":"Success"}
Si todo está bien, mi pregunta es por qué la lista de objetos sale de esa manera en lugar de hacerlo así.
{"testId":1,"testName":"Test name"}
Para otros objetos similares que estoy usando, veo la salida como se esperaba (en el formato JSON apropiado).
Tenga en cuenta que no copié el código real, sino que escribí el código con los nombres modificados, así que ignore los errores de sintaxis que pueda ver en el código.
¿Podría alguien por favor asesorar sobre cómo puedo obtener un json adecuado en la salida?
Tengo el problema. El problema era que estaba usando una clase de repositorio JPA que se creó para un objeto diferente. Creé una nueva clase de repositorio JPA para el objeto Test y funciona bien ahora, estoy obteniendo la salida JSON correctamente formada. Gracias