【发布时间】:2014-01-23 18:02:57
【问题描述】:
我使用 AFNetworking 1.0 进行了这个调用,它返回了一个 responseObject,其中包含我想要的 API 中的数据:
[[AFDiffbotClient sharedClient] postPath:@"http://diffbot.com/api/batch" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
但是,我不知道如何处理responseObject。
如果我检查[responseObject class],我会得到NSData。
如果我NSLog(@"%@", responseObject) 我得到一堆数字(我假设的内存地址):
如果我这样做:
NSString *responseString = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
NSLog(@"%@", responseString);
我得到了我想要的输出! 但是,这是NSString。
如果我这样做:
NSError *error;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:kNilOptions error:&error];
NSLog(@"%@", responseDictionary);
我收到了NSDictionary,但它缺少绝大多数响应(即:我没有收到 NSString 方法中包含的内容)。
我应该如何处理这个对象?
【问题讨论】:
-
您是否尝试使用 JSON 编码从 php 获取数据?这很容易使用。
-
你到底是什么意思?
-
显示示例字符串内容和相应的字典内容以及返回的任何错误。
-
你应该从你的服务器接收什么? JSON数据?你确定你的json有效吗?在您可以在线找到的 json 验证器中复制/粘贴您的 nsstring。如果它有效并且您遗漏了一些东西,那么它会变得更加复杂,否则请修复 json
-
您是否尝试过不同的选项而不是 kNilOptions?
标签: ios objective-c nsdictionary afnetworking nsdata