Estoy desarrollando un controlador ASP.NET con C# que recibe una matriz de datos publicados desde un programa Flash externo. ¿Cómo puedo usar los datos como una matriz? Parece que el contexto HTTP utilizado en ASP.NET descifra html automáticamente los datos de la publicación para que salga como una cadena simple. El separador en este caso es una coma (podría ser siempre una coma, nunca antes había trabajado con esto).Cómo obtener datos POST como matriz con C#
Parece que necesito una de dos cosas:
1) Una forma de llegar a los datos en su forma codificada en HTML, en el que se utiliza la coma como separador de las matrices sólo puede representar matrices reales en lugar de cliente entrada de formulario (la coma de entrada del cliente permanecería codificada en este punto).
2) Una forma de simular la función PHP print_r()
, var_dump()
(no conozco PHP por mi cuenta, pero me dicen que es el truco) para volcar la variable en una matriz.
Así que cualquier ayuda sobre cómo hacer cualquiera sería apreciada. ¡Gracias por adelantado!
Editar 1: Los datos que se publican pueden ser, por ejemplo, un grupo de direcciones, códigos postales e información adicional opcional. Tal como address=testroad%5F5,another%5Ftestroad%5F6&postalcode=12345,56789&extrainfo=,firstwasempty
. En ese ejemplo, había dos direcciones (%5F
es igual a espacio en blanco), dos códigos postales, pero solo la segunda dirección contenía extrainfo
como el espacio antes de que la coma estuviera vacía. Ahora, una vez más, como el inglés no es mi idioma materno, el problema fue que la posible coma escrita por el cliente se mezcla con la coma real de división de la matriz después de la decodificación.
Gracias por esto, se obtiene la información. El problema es analizarlo como habrás adivinado. Los datos que intento obtener son un conjunto de direcciones, por ejemplo, "dirección", "código postal", etc. Se vuelve problemático al analizar eso con bucles y subcadenas. Entonces, ¿hay alguna manera de obtener los datos como formulario o "querystring" sin decodificar los datos dentro? – Kahn
He actualizado mi respuesta con un ejemplo que muestra cómo podría usar String.Split para analizar los datos publicados. –
es una publicación muy antigua, pero para cualquiera que la vea ahora, hay una mejor manera de hacerlo con Json. var reader = new StreamReader (context.Request.InputStream) string postingData = reader.ReadToEnd(); JObject obj = JObject.Parse (postedData); Ahora puedes acceder al obj usando la tecla. var user = (string) obj ["UserID"]; – Blossom