1
我想查看一些具體示例/教程,瞭解如何使用NSJSONSerialization類將URL和POST數據傳入和傳出。如何使用NSJSONSerialization類將數據發佈到基於JSON的REST API?
我知道如何實際獲取數據,這是在一定程度上混淆的POST。任何有用的指針將不勝感激。
我想查看一些具體示例/教程,瞭解如何使用NSJSONSerialization類將URL和POST數據傳入和傳出。如何使用NSJSONSerialization類將數據發佈到基於JSON的REST API?
我知道如何實際獲取數據,這是在一定程度上混淆的POST。任何有用的指針將不勝感激。
您不使用NSJSONSerialization
類發佈數據。您可以使用NSURL*
API(NSURL
,NSURLConnection
,NSURLRequest
等)。
NSURL *url = [NSURL URLWithString:@"http://example.com/foo.php"];
NSMutableURLRequest *rq = [NSMutableURLRequest requestWithURL:url];
[rq setHTTPMethod:@"POST"];
NSData *jsonData = [@"{ \"foo\": 1337 }" dataUsingEncoding:NSUTF8StringEncoding];
[rq setHTTPBody:jsonData];
[rq setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[rq setValue:[NSString stringWithFormat:@"%ld", (long)[jsonData length]] forHTTPHeaderField:@"Content-Length"];
[NSURLConnection sendAsynchronousRequest:rq completion:^(NSURLResponse *rsp, NSData *data, NSError *err) {
NSLog(@"POST sent!");
}];
這不適合我在XCode 5上編譯?另外,你如何序列化對象? – aledalgrande
@aledalgrande Xcode不是編譯器。 (除非你發佈特定的編譯器錯誤,否則我沒有希望可以幫助你。)「序列化對象」是什麼意思?序列化泛型,自定義對象並不是微不足道的,你可以放棄實現'NSCoding'協議,但是你可能需要更復雜的東西 - 再次根據具體的用例。 – 2013-12-26 00:04:16
那麼在Objective-C中,沒有像在Java或Ruby中那樣將對象序列化爲JSON的通用方法?你必須訴諸這些硬編碼的字符串嗎? – aledalgrande