objective-c - iOS http post 对 NSDictionary 或 NSArray 的响应

标签 objective-c ios http post response

我正在制作一个 HTTP Post,我想知道如何将响应转换为 NSDictionary 或 NSArray。这是我的代码:

NSString *post = [NSString stringWithFormat: @"SomeData=text", text];
        NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

        NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

        NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
        [request setURL:[NSURL URLWithString:@"https://www.my.site/receiver"]];
        [request setHTTPMethod:@"POST"];
        [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
        [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
        [request setHTTPBody:postData];
        NSURLResponse *response;
        NSError *err;
        NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];

编辑:

转换后的响应如下所示:

NSString *string = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding];

2011-12-04 11:50:00.924 Dancing Ruby[404:207] response: SID=DQAAAMAAAAAjy9MXrxh7Hi4nXTpyVTnqMR4c_W2wCQmLmO7xDHz7v91kl16tH-0UyazONU2nGjsUYxGzAPd9lvNcCGLfcz7YFLQRhG8yW8_wn3V46g8SY0A5bnfmGhuIbAMoCetow09cOnE7aYUzEZ4u5zVnJFoNepa9BlheFAA8JFLomw3luHedLkJZi_CQJO48CtwLZeIF9zhD5RNUDUretNh_1QBN2fHntSiqASMHHHyd9dtlTaXpokx_KIJovxo0dNYUJbs
LSID=DQAAAMIAAACgjuwUzSRNh2xXrWsdA81_fLVCguvatiHHU6b1dMm0TD6-lQyl-odfIfLGWgee4_j3HXUNsqtTm-aEFgylW2QURA5F9_1Fx8WRECIWOkUoLfWBGchoxRfhxKqCoD-zzgg1opjSmrDyv0U1NZRN7YGiqkLj4Fz_Qm6oPapov2_J33KT0ENFTKnqyzS0zU3wHgKSGb1aoKKO0ZJCTFk20AX3cLYPuMWoJcnyrLipCzZjkjwGEEhfgz31ISPS9OGezPzYJji-UxTmaJB7Va7SGquX
Auth=DQAAAMEAAACgjuwUzSRNh2xXrWsdA81_fLVCguvatiHHU6b1dMm0TD6-lQyl-odfIfLGWgee4_gex6ZHpCOn0tXFwuivD7ESwhFMJGdLRYSspk-leGqj-eCkXUgsg4DBvxPbdpREFlU_j0RGm_qufXlaScZV3x17plY5-xrhvhziEVFf3eLiHEmN9HHNwh8uElyYyJ1rLNAbIunpG3D10ASr4WPQDIz_52OOKy07CmQrBNDdUcpkT5bXqBe3Cdw8aqld0LZH2AIMEdj7PupfRaneJgF-nCBZ

最佳答案

你需要为此使用某种解析器。如果响应是 XML 格式,您可以使用 NSXMLParserHere您可以找到有关如何使用它的教程。相同的概念适用于任何其他类型的数据。您必须事先知道会发生什么,以便正确解析它。

希望对你有帮助

关于objective-c - iOS http post 对 NSDictionary 或 NSArray 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8374917/

相关文章:

http - Apache commons fileupload 仅在 Firefox 中超时

c# - 使用异步套接字客户端进行原始 HTTP 解析

objective-c - Swift:控制台中的 Print(object) 不显示变量属性,例如 NSObjects 的 Objective-C

ios - 适用于 IOS 11 及更高版本的 Ionic 1 应用程序中的内容重叠

ios - 自定义字体在IOS中不显示(.otf类型)

objective-c - NSError * 与 NSError **

objective-c - 如何处理 Int 和 CGFloat 之间的操作?

iphone - UINavigationbar 覆盖 View 顶部

iphone - 来自字符串的简单 NSDate

google-chrome - 为什么无法下载状态代码为 4XX 和 5XX 的文件