ios - 返回 NSString 而不是 NSDictionary

标签 ios json asiformdatarequest

我正在使用一种方法来调用 Web 服务并在服务器上上传转录音频文件。方法如下:

    - (NSDictionary *)UploadTranscriptionAudio:(NSString *)uploadfor forPN_ID:(NSString 
   *)pn_id forTaskFlag:(NSString *)taskflag documentPath:(NSString *)documentpath 
    forUserName:(NSString *)username file_path_msd:(NSString *)file_path_msd 
   audioFilePath:(NSString *)audiofilepath{

NSDictionary *response = nil;


NSURL * url = [NSURL URLWithString:[AppDelegate sharedInstance].str_webServiceUrl];

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];

[request setPostValue:uploadfor forKey:@"Uploadfor"];
[request setPostValue:pn_id forKey:@"PNID"];
[request setPostValue:taskflag forKey:@"task_flag"];
[request setPostValue:documentpath forKey:@"Path"];
[request setPostValue:username forKey:@"Username"];
[request setPostValue:file_path_msd forKey:@"file_path_msd"];
[request setFile:audiofilepath forKey:@"uploadedfile"];

[request startSynchronous];

NSError *error = [request error];
if (!error) {
    response = (NSDictionary*)[request responseString];
    NSLog(@"Response = %@",response);
    return response;
}
return response;

这个方法仍然返回一个 NSstring 作为响应。我想要的是这个方法应该返回一个 NSDictionary。因为我必须在其他地方使用该字典中的键值。有人可以帮我解决这个问题吗?

最佳答案

你好 shikher maddy 说得对 n 你可以按如下方式解析字符串

if (responseString == NULL) {
    // do something u want
} else {
    NSDictionary *jsonResponse = [responseString JSONValue];
    NSLog(@"  %@",jsonResponse);
}

关于ios - 返回 NSString 而不是 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16737524/

相关文章:

ios - 以编程方式返回到 Swift 中的上一个 ViewController

ios - 将数据从一个 View Controller 传递到另一个 View Controller

ios - 上传带有字典的图片

ios - 通过不同 View Controller 使用 Realm 时出现 RLMException

iphone - 我在哪里可以找到一些漂亮的 iPhone 按钮?

c# - 如何使用 newtonsoft json 解析 3 级嵌套数组

ios - 将纯字符串转换为 JSON 并在 Swift 中返回

javascript - AngularJS ng-repeat 通过复杂和动态的 JSON 数组

ios - 如何使用asiformdatarequest上传图片

ios - 发布到服务器,将 ASIFormDataRequest 替换为 AFnetworking