我想将一个数组传递给我的服务器。我使用了 GET 方法,所以我必须在 url 之后传递一个参数。它看起来像这样:
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”或类似的方法进行测试,以查看数字何时停止。
我假设您有任意数量的数组元素,但每个单独的字典都有已知字段 - 换句话说,您正在传递一个用户字典数组,但每个字典都有一个“用户”字段和一个“密码” “ 场地。如果不是这种情况,您仍然可以使用此方法,但您必须在通信双方多做一些工作。