Desidero inviare un nuovo oggetto creato su iOS a un server ricevente con un metodo POST
utilizzando il tipo di dati JSON
. Da quello che so sulla ricezione dei dati dal server in iOS, è che tutta la gestione di JSON
è stata semplificata da Apple con l'introduzione di iOS 5. Ma in contraddizione con GETting degli oggetti JSON, il POST di quelli non è realmente descritto dovunque io possa trovare ...Come si esegue il POST oggetto dati JSON sul server in iOS5?
I primi passi che ho preso per cercare di risolvere il problema sembrava come segue:
//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?
Ma io davvero non so come inviare un oggetto JSON a un server utilizzando un metodo POST affatto. Qualcuno potrebbe aiutarmi?
potrebbe eventualmente elaborare su ciò che sta accadendo nel codice? L'ho usato nella mia app ora, ma sinceramente non ne so molto di quello che sta facendo. Capisco il dizionario e lo trasformo in dati per JSON, ma tutto ciò che con URLRequest e URLConnection è sconosciuto per me. Qualsiasi chiarimento sarebbe fantastico! – Jonathan
Un NSURLRequest è fondamentalmente un oggetto per impostare le proprietà del recupero del Web. In feti normali avresti impostato automaticamente i valori di default più utilizzati, ma dato che voglio inviare i dati, voglio usare il metodo POST HTTP e perché voglio ricevere un oggetto JSON, sto dicendo al server questo impostando il tipo di contenuto e Accetta i campi dell'intestazione HTTP nel formato JSON. Per saperne di più sul protocollo HTTP e in particolare sull'intestazione HTTP, basta cercarli o leggere qui http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol e qui http://en.wikipedia.org/wiki/List_of_HTTP_header_fields. – CGee
Per ulteriori informazioni su NSURLConnection, penso che il modo migliore sia quello di leggere il suo riferimento di classe nella documentazione di Apples qui https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/ Reference.html. In generale, posso solo incoraggiarti a dare un primo sguardo alla documentazione di Apples, in quanto è una fonte fantastica (e sicuramente aggiornata) per l'apprendimento di queste cose. – CGee