Quiero convertir el nombre y el apellido al formato json.
@RestController
public class studentsController {
@GetMapping(value = "/students", produces = { MediaType.APPLICATION_JSON_VALUE } )
@ResponseBody
public String getWhoami(@RequestParam String firstname, @RequestParam String lastname ) {
return "firstname:" + firstname + " lastname: " + lastname;
}
}
¿Cómo puedo convertir formatos como estos?
{"firstname": "value1", "lastname": "value2"}
Lo intenté con Jackson pero no pude.
La guía oficial de Spring Creación de un servicio web RESTful tiene una buena demostración de esto.
- LHCHIN
29 de marzo de 2021 a las 1:34
------------------------------------
No es necesario crear json manualmente.
Crea una clase como:
class Student {
private String firstname;
private String lastname;
public Student(String firstname, String lastname) {
this.firstname = firstname;
this.lastname =lastname;
}
// getters and setter
}
@GetMapping(value = "/students", produces = { MediaType.APPLICATION_JSON_VALUE } )
@ResponseBody
public Student getWhoami(@RequestParam String firstname, @RequestParam String lastname ) {
return new Student(firstname, lastname);
}
Su objeto se convertirá a json automáticamente.
Respondido
27 de marzo de 2021 a las 7:13
krishnkant jaiswal
krishnkant jaiswal
575
3
3 insignias de plata
9
9 insignias de bronce
2
Llame a esta API. utilizando cartero o cualquier navegador. Esta será la palabra.
– krishnkant jaiswal
27 de marzo de 2021 a las 8:18
No es necesario convertirlo manualmente a json.
- krishnkant jaiswal
27 de marzo de 2021 a las 8:18
------------------------------------
¿Has probado el jackson así?
https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
agrega en tu clase una instancia como esta:
ObjectMapper mapper = new ObjectMapper();
private ObjectMapper mapper = new ObjectMapper();
pruebe la función desde la instancia de esta manera:
String jsonstr = mapper.writeValueAsString(object);
Digamos que ya tienes elbiblioteca jackson en su proyecto (el archivo jar)
aquí hay una clase de muestra:
public class SampleClass{
private ObjectMapper mapper = new ObjectMapper();
public String sampleMethodToJSONString(Student student){
return mapper.writeValueAsString(student);
}
}
1
¿Puedes ser más específico?
-Abdullah İskifoglu
27 de marzo de 2021 a las 7:52
------------------------------------
Puedes cambiar el tipo de datos devueltos para usar Map<String, String> en lugar de String o use ResponseBody<?>