Obtener elementos de un JSON en delphi
Hola a todos
Resulta que me conecto a un servicio y obtengo una respuesta JSON, dependiendo de lo que envíe obtengo la respuesta: Algunos ejemplos: { "estado": "Exito", "idUsuario": 232, "usuario": "Alberto", "idEmpresa": 214, "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE1OTYzMTI1MDIsInJvbGVzIjpbeyJfX2luaXRpYWxpemVyX18iOn t9LCJfX2Nsb25lcl9fIjp7fSwiX19pc0luaXRpYWxpemVkX18iOmZhbHNlfV0sInVzZXJuYW1lIjoiODkxNTAwNzM2LTAiLCJleH AiOjE1OTYzOTg5MDJ9.JSeGHifPm11pDQM19AC6ZNjiJXwPYAaRye2vmvQ597Y37_R96xR0A_mOUKZbjzkf-SMQMuvmEZDq2ydfU6ZlSbw4bbDU0qAryDMW9hwwaikk5GbB5xGEYNiq6DNDswKQ1G98VG0_8Zg8DlqCjJ4yf8NFqhnq7y78ASsom ZJF2SDq1Z-k9lyn5rAkuNwDlFd2V4UXjPyGUMOsUnfEdFBub3dvcTVc8LmXXWkZENcDNbl2JQg2R7wSVN0vA9C1HwNVEkytYEIo7w4izsOI2XT as1nrBMYKprgCHfGBgrSH6qzfI79t8VWWv2n-xLEpISzLxx7psDqJy16bQZFIcubkQFjiEPWUWFHxmcJYTv2PMVT_HbSBNcFT-SNSZPfFJmOmqL3SKS2lal-Pgvx0ff8xUktwQJf9MvRAnTsqRLkLjh9YjtjO7oUq8UcPCKojq-ymJNO2O7xNF4BeR5xCDEN_MErymt-ElG6PTAFM0AUMW2r8_wiqLHdmYof8SJArFO4k3gyORZutoqoS6TmAMwZYivl8iI7enEWG-8Fp4ckgqJwi7aefk1lD9cp2AO09NQ-iZy3K7Qn4MFO3NfJqN6AndDLmRIw9Vi6rrTIlVONM-2PgqOu6Y1v0piTqLHGEVxLwgcpbcg1E-zMOr_AY3MFyoPze2wAN6R6NyLJp8_iApNE" } Otro resultado { "code": 401, "message": "Usuario y/o contraseña inválida" } otro resultado { "estado": "Error", "mensaje": "No tiene autorización para registro de empresas." } otro resultado { "Estado": "Error", "Mensaje": "La información del token no fue enviada correctamente.", "Entorno": "", "Errores": "", "XmlBase64": "" } otro resultado { "Mensaje": "Error: Invalid format: \"\"", "Entorno": "Edocx", "Errores": { "JA-001": "Error: Invalid format: \"\"" }, "Estado": "Error" } Lo que necesito es leer el JSON y sacar las claves, dependieno al nombre ya puedo entrar a tomar el valor que necesito, ya que no puedo obtener la clave Estado cuando la clave puede ser Mensaje y ahí obtengo error. Espero haberme hecho entender Por ejemplo: me retorna este JSON { "code": 401, "message": "Usuario y/o contraseña inválida" } Entonces debo obtener code y mensaje. Pero si me retorna este { "estado": "Error", "mensaje": "No tiene autorización para registro de empresas." } Obtengo estado y mensaje. Por ende, si me devolvió code, se que hago otra acción diferente a si me devuelve estado. |
Doy respuesta a lo que necesitaba
Bueno, me puse a cacharrear un rato y aquí lo hice
Si hay una manera más optima de hacerlo, se los agradecería. Por si a alguien le sirve. Delphi 10.3 community edition Dos memos y dos botones en el formulario
|
Buenas compañero
Cita:
se me ocurre algo así
espero que te sirva, no se si es lo mejor pero creo que puede servirte |
La franja horaria es GMT +2. Ahora son las 10:24:54. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi