0
我想將數組傳遞給我的服務器。我使用了GET方法,所以我必須在URL之後傳遞參數。它看起來像這樣:如何在http get方法中傳遞屬於NSDictionary的NSArray?
http://www.myserver.com/?name=username&pwd=password
但現在我有一個數組。它包含一個NSDictionary。我怎樣才能將它追加到網址?
我想將數組傳遞給我的服務器。我使用了GET方法,所以我必須在URL之後傳遞參數。它看起來像這樣:如何在http get方法中傳遞屬於NSDictionary的NSArray?
http://www.myserver.com/?name=username&pwd=password
但現在我有一個數組。它包含一個NSDictionary。我怎樣才能將它追加到網址?
這裏有一個建議,我已經在過去使用:
NSMutableString* get_string=[[NSMutableString alloc] init];
int i = 1;
NSEnumerator* arrayEnumerator = [myArray objectEnumerator];
NSDictionary* myDict;
while(myDict = [arrayEnumerator nextObject])
{
[get_string appendString:@"&e"];
[get_string appendString:[NSString stringWithFormat:@"%d", myInt]];
[get_string appendString:@"myFirstKey="];
[get_string appendString:[myDict objectForKey:myFirstKey]];
[get_string appendString:@"&e"];
[get_string appendString:[NSString stringWithFormat:@"%d", myInt]];
[get_string appendString:@"mySecondKey"];
[get_string appendString:[myDict objectForKey:mySecondKey]];
}
如果我這樣做的權利,輸出應該是這樣的:
&e1myFirstKey=5&e1mySecondKey=8&e2myFirstKey=4&e2mySecondKey=9
剝去第一&,打一個URL和一個「?」在前面,並將其發送到您的服務器。然後,您的服務器必須通過使用「isset」或類似的測試來選擇它,以查看數字何時停止。
我假設你有任意數量的數組元素,但每個單獨的字典將具有已知字段 - 換句話說,你傳遞一個用戶字典數組,但每個字典將有一個「用戶」字段和一個「密碼」字段。如果情況並非如此,您仍然可以使用這種方法,但您必須在通信雙方做更多的工作。