Chcę wysłać nowy obiekt utworzony na iOS do serwera odbierającego za pomocą metody POST
przy użyciu typu danych JSON
. Z tego co wiem o odbiorze danych z serwera w iOS, jest to, że wszystkie operacje JSON
zostały uproszczone przez Apple wraz z wprowadzeniem iOS 5. Ale w przeciwieństwie do pobierania obiektów JSON, POSTing tych nie jest tak naprawdę opisany gdziekolwiek mógłbym znaleźć ...Jak przesłać obiekt danych JSON do serwera w systemie iOS5?
pierwsze kroki zrobiłem, aby spróbować rozwiązać problem wyglądał następująco:
//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?
Ale ja naprawdę nie wiem, jak wysłać obiekt JSON do serwera za pomocą metody POST w ogóle. Czy ktokolwiek mógłby mi pomóc?
mógłbyś ewentualnie rozwinąć, co dzieje się w kodzie? Użyłem go teraz w mojej własnej aplikacji, ale szczerze mówiąc, nie wiem zbyt wiele o tym, co robi. Rozumiem słownik i zamieniam go na dane dla JSON, ale wszystko z URLRequest i URLConnection jest dla mnie nieznane. Wszelkie wyjaśnienia byłyby świetne! – Jonathan
Obiekt NSURLRequest jest w zasadzie obiektem do ustawiania właściwości pobierania w Internecie. W normalnych poborach automatycznie ustawiane są najczęściej używane ustawienia domyślne, ale ponieważ chcę wysyłać dane, chcę użyć metody POST HTTP i spowodować, że chcę otrzymać obiekt JSON Powiem to serwerowi, ustawiając Content-Type i Akceptuj pola nagłówka HTTP do formatu JSON. Aby dowiedzieć się więcej o protokole HTTP, a zwłaszcza o nagłówku HTTP, po prostu wyszukaj je lub przeczytaj tutaj http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol i tutaj http://en.wikipedia.org/wiki/List_of_HTTP_header_fields. – CGee
Aby dowiedzieć się więcej o NSURLConnection, myślę, że najlepszym sposobem jest po prostu przeczytanie jego odwołania do klasy w dokumentacji Apple tutaj https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/ Reference.html. Ogólnie mogę tylko zachęcić cię najpierw do zapoznania się z dokumentacją Apple, ponieważ jest to świetne (i zdecydowanie aktualne) źródło do nauki tych rzeczy. – CGee