AFNetworking JSON序列化问题

我发送JSON(最初存储在一个NSDictionary)使用AFNetworking。 我的对象看起来像这样(取自文档评论):

/** * Sends a create request to the API server * Success will be a dictionary containing: * * playlistSession: { * "mediaSegments": {}, * "mediaSequence": 0, * "timeElapsed": 0, * "config": { * "maxSegments": 4, * "targetDuration": 10 * }, * "meta": { * "id": "test", * "shouldBeAvailable": false, * "isAvailable": false, * "shouldFinish": false, * "isFinished": false * } * } * * And should be appended to the sessionData dictionary */ 

我在服务器上得到这个:

 { fileSequence: '3',  playlistSession:   { config: { maxSegments: '4', targetDuration: '10' },     mediaSequence: '0',     meta:      { id: 'MioeXvdiwB',        isAvailable: '0',        isFinished: '0',        shouldBeAvailable: '0',        shouldFinish: '0' },     timeElapsed: '0' } } 

数字和布尔值应该是字符和string。 难道我做错了什么?

这是请求(对象存储在一个NSMutableDictionary ):

 self.sessionData[fileSequenceKey] = [NSNumber numberWithInt:fileNumber]; self.sessionData[playlistSessionKey][metaKey][shouldFinishKey] = [NSNumber numberWithBool:lastSegment]; NSString *urlString = [[NSURL URLWithString:[NSString stringWithFormat:kAppendPath, self.postPath] relativeToURL:self.manager.baseURL] absoluteString]; NSURLRequest *request = [self.manager.requestSerializer multipartFormRequestWithMethod:@"POST" URLString:urlString parameters:self.sessionData constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { NSError *error; [formData appendPartWithFileURL:target name:mediaSegmentKey error:&error]; }]; AFHTTPRequestOperation *operation = [self.manager HTTPRequestOperationWithRequest:request success:[self successBlock:lastSegment] failure:[self failureBlock:lastSegment]]; [operation setUploadProgressBlock:[self completionBlock]]; [self.manager.operationQueue addOperation:operation]; fileNumber++; 

我结束了添加一个方法到我的NSDictionary+JSON类别称为JSONString

 /** * Serializes a JSON string to be sent over the network * * @return The serialized playlist session JSON string */ - (NSString*)JSONString { NSError *error; NSData *serializedData = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:&error]; NSString *JSONString = [[NSString alloc] initWithData:serializedData encoding:NSUTF8StringEncoding]; return JSONString; } 

返回一个不需要强制或parsing的NSString ,只是简单的调用nodejs JSON.parse()