0

嗨,我想将一组数据发送到服务器数组,例如

{ FeedStats: [{
   FeedId: 1,
   FeedIndex: 1,
},
{
   FeedId: 2,
   FeedIndex: 21,
}]}

我正在尝试使用 afnetworking

 NSMutableArray *tempArray = [[NSMutableArray alloc]init];
 NSDictionary *tempDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                            currentPerson.feedId, @"FeedId",
                                            currentPerson.articleIndex, @"FeedIndex",
                                            nil];
 NSDictionary *tempDictionary1 = [NSDictionary dictionaryWithObjectsAndKeys:
                                            currentPerson1.feedId, @"FeedId",
                                            currentPerson1.articleIndex, @"FeedIndex",
                                            nil];
[tempArray addObject:tempDictionary];
[tempArray addObject:tempDictionary1];

NSDictionary *tempDict = [[NSDictionary alloc]initWithObjectsAndKeys:tempArray,@"FeedStats", nil];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://xxx.xx/"]];
    [httpClient setAuthorizationHeaderWithToken:authToken];
    [httpClient setDefaultHeader:@"Content-Type" value:@"application/json"];

    [httpClient postPath:@"xx/xxx" parameters:tempDict success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSString *responseStr = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
        NSLog(@"Request Successful, response '%@'", responseStr);

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"[HTTPClient Error]: %@", error.localizedDescription);
    }];

但是服务器中的数组将变为空

FeedStats:[] 

如何解决这个问题

4

2 回答 2

1

改变:

NSDictionary *tempDict = [[NSDictionary alloc]initWithObjectsAndKeys:tempReportArray,@"FeedStats", nil];

至:

NSDictionary *tempDict = [[NSDictionary alloc]initWithObjectsAndKeys:tempArray,@"FeedStats", nil];

tempReportArray => tempArray

于 2013-09-12T12:47:27.457 回答
0

我通过添加得到了解决方案

httpClient.parameterEncoding = AFJSONParameterEncoding
于 2013-09-12T13:28:54.447 回答