En realidad, estoy haciendo algunas pruebas en las que obtengo una respuesta de uno de nuestros puntos finales que se parece a varios objetos json individuales y necesito convertirlos en una forma como una cadena o un único objeto json para poder realizar alguna acción en ellos.
Ejemplo de respuesta Json: -
{"user_name":"testUser","email":"test@test.com"} {"country":"Australia","Gender":"Male"} {"type":"Customer_Account","membership":"Annual"}
Aquí el problema es que no puedo realizar ninguna operación hasta que la convierta en una cadena o un objeto Json.
Y no puede controlar la respuesta ya que proviene de una aplicación de terceros.
Cualquier idea de cómo convertirlo usando JavaScript o Java será de gran ayuda.
Creo que su problema está en la fuente de la respuesta, que no es un JSON válido. Puede validar los errores aquí: https://jsonlint.com/
¿Has implementado la fuente del JSON? Si es así, podrías hacer una lista de objetos...
[{"user_name":"testUser","email":"test@test.com"}, {"country":"Australia","Gender":"Male"}, {"type":"Customer_Account","membership":"Annual"}]
Si la fuente de la respuesta es externa (no puede modificarla), es posible guardar la respuesta en una Cadena, luego dividir la cadena en una lista para iterarla y crear los objetos.
Espero que esto sea algo útil.
Únalos con una coma ,
ponga el resultado entre corchetes []
:
[ {"user_name":"testUser","email":"test@test.com"}, {"country":"Australia","Gender":"Male"}, {"type":"Customer_Account","membership":"Annual"} ]
después de ese uso puede usar la clase JSONObject u otras cosas relacionadas
Divida los JSON usando expresiones regulares y manténgalos en una matriz:
let text = '{"user_name":"testUser","email":"test@test.com"}{"country":"Australia","Gender":"Male"}{"type":"Customer_Account","membership":"Annual"}'; const myArray = text.split(/(?=[{])/g); let name = JSON.parse(myArray[0]).user_name; console.log(myArray[0]); console.log(name);
Ahora puede analizar las cadenas como JSON.
Si sus objetos están separados por saltos de línea, puede leer la transmisión línea por línea y analizar cada línea que debería ser JSON válida.
De lo contrario, puede detectar el final de un objeto haciendo un seguimiento del nivel de llaves anidadas (incremento para {
, decremento para }
).
En lugar de analizar cada objeto por separado, también puede insertar corchetes y comas para formar una matriz JSON válida y luego analizar esa matriz.