我想使用JSON
數據類型將在iOS上創建的新對象發送到接收服務器,並使用POST
方法。據我所知,在iOS中接收數據從服務器,是所有的JSON
處理都被蘋果公司簡化了iOS 5的引入。但是與GET JSON對象相反,POST的這些並沒有真正描述在任何我能找到的地方...如何在iOS5中將JSON數據對象發佈到服務器?
我走上嘗試解決這個問題看上去如下第一步:
//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?
但我真的不知道如何使用POST方法發送JSON對象到服務器。 有誰能幫我解決嗎?
你能上什麼是你的代碼可能發生的闡述?我現在在自己的應用程序中使用過它,但我真的不知道它在做什麼。我理解字典並將其轉換爲JSON數據,但URLRequest和URLConnection的所有內容對我而言都是未知的。任何澄清將是偉大的! – Jonathan 2013-09-04 17:37:26
NSURLRequest基本上是一個對象,用於設置Web抓取的屬性。在正常的提取中,你會自動設置最常用的默認值,但是因爲我想發送數據,所以我想使用HTTP POST方法,並且導致我想要接收JSON對象,所以我通過設置Content-Type並將HTTP頭字段接受爲JSON格式。要詳細瞭解HTTP協議,特別是HTTP頭,只需搜索它們或在這裏閱讀http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol和這裏http://en.wikipedia.org/wiki/List_of_HTTP_header_fields。 – CGee 2013-09-05 12:36:13
要了解有關NSURLConnection的更多信息,我認爲最好的方法是在Apples文檔中閱讀它的類引用https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/的reference.html。總的來說,我只能鼓勵你首先看一看Apples文檔,因爲它是學習這些東西的好的(絕對是最新的)源代碼。 – CGee 2013-09-05 12:41:12