【发布时间】:2014-12-16 15:42:51
【问题描述】:
显然,服务器无法理解我的数组字典。 这是我写的
NSURL *url = [NSURL URLWithString:@"http://"];
self.manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:url];
self.manager.requestSerializer = [AFJSONRequestSerializer serializer];
AFJSONResponseSerializer *responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
[self.manager setResponseSerializer:responseSerializer];
self.manager.responseSerializer.acceptableContentTypes = [self.manager.responseSerializer.acceptableContentTypes setByAddingObject:@"text/html"];
NSDictionary *parameters = [NSDictionary dictionaryWithObjectsAndKeys:
[SOUser sharedManager].id, @"id",
@"vk", @"socialId",
[SOUser sharedManager].firstName, @"firstName",
[SOUser sharedManager].lastName, @"lastName",
[SOUser sharedManager].sex, @"gender",
[SOUser sharedManager].friends, @"friends", nil];
[self.manager POST:@"api/user/"
parameters:parameters
success:^(AFHTTPRequestOperation *operation, id responseObject) {
//NSLog(@"Response: %@", [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding]);
NSLog(@"OPERATION = %@", operation);
NSLog(@"%@", operation.responseString);
NSLog(@"JSON: %@", responseObject);
NSLog(@"Token = %@", [responseObject objectForKey:@"token"]);
[SOUser sharedManager].legendaryToken = [responseObject objectForKey:@"token"];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
NSLog(@"message: %@", [operation.responseObject objectForKey:@"message"]);
NSLog(@"operation: %@", [operation.responseObject objectForKey:@"errors"]);
NSDictionary *ac = [operation.responseObject objectForKey:@"errors"];
NSLog(@"%@", [ac objectForKey:@"email"]);
NSString *fg = [ac objectForKey:@"email"];
NSLog(@"%@", fg);
}];
[SOUser sharedManager].friends 是NSMutableArray:
for (int i = 0; i < 25; i++) {
[self.friends addObject:[NSString stringWithFormat:@"%i", i]];
}
在服务器上,我收到了所有数据,但不是我的数组,而是我的数字服务器打印字符串“数组”?它可以是什么?
我的 JSON:
JSON: {
email = "<null>";
"fb_friends" = "<null>";
"fb_id" = "<null>";
firstName = Sergey;
gender = 2;
id = 17;
lastName = Oleynich;
phone = "<null>";
token = 6990b71a61411d9d038dad1e2a54dd9f;
"vk_friends" = (
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24
);
"vk_id" = 3;
服务器
JSON : Id:17
vk_id:3
fb_id:NULL
firstName:Sergey
lastName:Oleynich
gender:2
email:NULL
vk_friends:Array
【问题讨论】:
-
1.它是语义,但您描述为“JSON”的并不是真正的 JSON。这是您在 NSLog 将创建 JSON 的对象时得到的。 2. 您向我们展示了服务器收到的内容,但您现在没有向我们展示您生成了该输出。如果有的话,
vk_friends是Array的事实令人鼓舞。我想知道问题是否在于您如何在服务器上检查/显示请求,而不是请求本身的问题。向我们展示您是如何生成最终“服务器”输出的。 -
@Rob 向我们展示您是如何生成最终“服务器”输出的。我不明白我应该展示什么?你的意思是我发送给服务器的到底是什么?我该如何展示它?
-
不,我的问题是您如何在原始问题的末尾输出最后一个输出块。如果我理解正确,您会问“为什么我的 'vk_friends' 键会看到 'Array'?”好吧,我们必须看看您是如何生成该输出的。您最初的问题意味着您认为问题出在原始请求中,我建议该请求可能没问题,但这可能只是您如何输出
vk_friends的问题,直到我无法回答您向我们展示了您是如何创建最终“服务器”输出的。
标签: ios objective-c post afnetworking