我使用AFNetWorking3.0,并使用工具(Wireshark)来获取帖子数据(请求),例如我想发布像@{"name": @"zlj"}
这样的参数,wireshark可以获得正确的数据,我可以见@{"name": @"zlj"}
。
但是,当我这样使用NSDictionary *para = @{@"json": @{@"name": @"zlj", @"sex": @"1"}}
,然后我使用AFNetWorking发布这些参数时,wireshark会获得我的帖子数据,如----- "json%5Bname%5D=zlj&json%5Bsex%5D=1"
所以我无法理解为什么要显示"json%5Bname%5D=zlj&json%5Bsex%5D=1"
,为什么不显示"@{@"json": @{@"name": @"zlj", @"sex": @"1"}}"
,有人可以告诉我吗?
答案 0 :(得分:0)
我认为您需要做的是,不是将字典直接发送到服务器,而是将其转换为JSON
序列化并按POST
发送数据,如下所示。
NSMutableDictionary *dictionnary = [NSMutableDictionary dictionary];
[dictionnary setObject:@"zlj" forKey:@"name"];
[dictionnary setObject:@"1" forKey:@"sex"];
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dictionnary options:kNilOptions error:&error];
然后通过POST方法将上述jsonData发送到服务器,它将起作用。