Spanish Enviar una list como json

jwgf

Member
Hola, amigos, tengo un proyecto en el cual envío y recibo datos con un micro ESP8266 el cual tiene un un pequeño webserver, en el micro cuando recibo desde la app el comando "estado", este arma un json y envía una respuesta, esto lo muestro en el código y funciona sin problemas, mi pregunta es como por ejemplo envío una list en formato json al micro, gracias desde ya, Jorge
1585761102884.png
 

drgottjr

Expert
Licensed User
Longtime User
tu lista la conviertes a una cadena json.
esta cadena la subes al servidor mediante okhttp poststring (en este caso la cadena)

ambas operaciones se encuentran facilmente en el foro (buscando "json" y "poststring").
y son facilísimos de implementar.
claro, el servidor tiene que estar al tanto de lo que le mandas. o sea, no puedes mandar
una cadena cualquiera.

intenta hacer algo. en cuanto te falle, vuelve con tu ejemplo malogrado. pero ojo: no mandes código en una imágen. la "poli" del foro de va a chillar.
pon tu código entre etiquetas "code". te lo pagarás si no...
 

jwgf

Member
Gracias ,drgottjr, por tu pronta respuesta, y gracias por la advertencia, no sabia como pegaban trozos de código aquí, puedo haber tenido mala suerte en la búsqueda ( o seguramente lo vi sin ver ), pero no he encontrado un ejemplo para pasar una lista a una cadena json, si entiendo que luego usando okhttp poststring , debería funcionar sin problemas, si fueras tan amable de pasarme un trozo de código de lista a json te lo agradecería, saludos, Jorge
 

jwgf

Member
Hola, como decía "no vi" , la info esta en

y como decía drgottjr es muy fácil pasar una lista a un Json, ahora lo que me pasa es que cuando ejecuto esta linea se me detiene la app

j.PostString("http://100.100.0.10/credenciales",JSONGenerator.ToString)

si envío JSONGenerator.ToString a un Msg, veo que el Json esta correcto, pueden ayudarme no veo mi equivocación.

PD. drgottjr tu me dices "pon tu código entre etiquetas "code" ", perdon pero no se como hacer eso :(
 

drgottjr

Expert
Licensed User
Longtime User
B4X:
j.PostString("http://100.100.0.10/credenciales",JSONGenerator.ToString)

oprime el primer iconcito arriba ("</>"). aparece un diálogo. metes tu código.
me alegro de tu éxito. ahora, ?cuál fue el error? ¿cómo es "credenciales"? ¿qué arroja el error: credenciales, tu app, ...? muestra un ejemplo de tu json y de la parte de credenciales donde y como lo recibe.

¿sabes usar el "log", verdad? esperaría "oír" mucho de el. adelante.
 

jwgf

Member
Hola, drgottjr, gracias, gracias...... aparentemente he solucionado todo, el error que comentaba
j.PostString("http://100.100.0.10/credenciales",JSONGenerator.ToString) es porque no estaba manejando mas de una respuesta dentro de JobDone, y con respecto a "credenciales" , es el comando que envío para que el webserver dentro del ESP8266 dispare la rutina que lee las "credenciales" ( SSID y Password ), enviadas por la app en formato json. Por supuesto que para enviar dos string no hace falta ponerlos en un formato Json, pero es que en la misma app voy a enviar cadenas largas y de esa forma el formato general de la app es mas correcta, voy a enviarte novedades de mi trabajo , cuando este terminado lo subiere por si le sirve a alguien, saludos Jorge
 

drgottjr

Expert
Licensed User
Longtime User
dentro de JobDone,
a propósito, ya no se usa jobdone, sino "wait for". pecado mortal no lo es, pero si se ve por aquí, la poli del foro te hará pasar una vergüenza
 
Top