Deseo enviar un nuevo objeto creado en iOS a un servidor receptor con un método POST
utilizando el tipo de datos JSON
. De lo que sé sobre la recepción de datos desde el servidor en iOS, es que todo el manejo de JSON
fue simplificado por Apple con la introducción de iOS 5. Pero a diferencia de OBTENER objetos JSON, POSTing esos realmente no se describe en ningún lugar que pueda encontrar ...¿Cómo PUESO un objeto de datos JSON al servidor en iOS5?
los primeros pasos que tomó para tratar de resolver el problema parecía como sigue:
//build an info object and convert to json
NSDictionary *newDatasetInfo = [NSDictionary dictionaryWithObjectsAndKeys:name, @"name", language, @"language", nil];
//convert object to data
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:newDatasetInfo options:kNilOptions error:&error];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:someURLSetBefore];
[request setHTTPMethod:@"POST"];
// any other things to set in request? or working this way?
[[NSURLConnection alloc] initWithRequest:request delegate:self];
// What to do with NSURLConnection? Or how to send differently?
Pero realmente no sé cómo enviar un objeto JSON a un servidor utilizando un método POST en absoluto. ¿Alguien podría ayudarme?
Podría posiblemente más detalles sobre lo que está sucediendo en su código? Lo he usado en mi propia aplicación ahora, pero honestamente no sé mucho sobre lo que está haciendo. Comprendo el diccionario y convirtiéndolo en datos para JSON, pero todo con el URLRequest y el URLConnection es desconocido para mí. ¡Cualquier aclaración sería genial! – Jonathan
Un NSURLRequest es básicamente un objeto para establecer las propiedades de su búsqueda web. En las recuperaciones normales, los valores predeterminados más utilizados se configuran automáticamente, pero como deseo enviar datos, quiero usar el método HTTP POST y porque quiero recibir un objeto JSON, se lo digo al servidor estableciendo el tipo de contenido. y Aceptar campos de encabezado HTTP en formato JSON. Para obtener más información sobre el protocolo HTTP y especialmente sobre el encabezado HTTP, simplemente búsquelos o lea aquí http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol y aquí http://en.wikipedia.org/wiki/List_of_HTTP_header_fields. – CGee
Para obtener más información sobre NSURLConnection, creo que la mejor manera es simplemente leer su referencia de clase en la documentación de Apple aquí https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/ Reference.html. En general, solo puedo alentarlo a que primero eche un vistazo a la documentación de Apple, ya que es una gran fuente (y definitivamente actualizada) para aprender estas cosas. – CGee