当前位置: 首页 > 面试题库 >

使用AFNetworking检索JSON的问题

戎永福
2023-03-14
问题内容

我正在尝试使用AFNetworking检索一些JSON数据。

我的服务器组件(PHP / ZendFramework)提供以下响应:

>curl -i http://test.local:8080/public/appapi/testaction/format/json
HTTP/1.1 200 OK
Date: Mon, 06 Feb 2012 10:37:20 GMT
Server: Apache
X-Powered-By: PHP/5.3.8
Content-Length: 35
Content-Type: application/json
{"entries":"test","abcxxx":"test2"}

我尝试使用以下代码检索此json数据:

NSString *baseurl = @"http://test.local:8080";

NSString *path = @"/public/appapi/testaction/format/json";

AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:baseurl]];
[client registerHTTPOperationClass:[AFJSONRequestOperation class]];
[client setAuthorizationHeaderWithUsername:@"myusername" password:@"mypassword"];

[client getPath:path parameters:nil success:^(__unused AFHTTPRequestOperation *operation, id JSON) {

    //NSLog(@"sjson: %@", [JSON valueForKeyPath:@"entries"]);
    NSLog(@"sjson: %@", JSON);        
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error Code: %i - %@",[error code], [error localizedDescription]);
}];

在模拟器中运行时,控制台显示以下输出:

2012-02-06 11:22:39.800 App[3642:15803] sjson: <6a736f6e 466c6963 6b724170 69287b22 6d657468 6f64223a 7b225f63 6f6e7465 6e74223a 22666c69 636b722e 74657374 2e656368 6f227d2c 2022666f 726d6174 223a7b22 5f636f6e 74656e74 223a226a 736f6e22 7d2c2022 6170695f 6b657922 3a7b225f 636f6e74 656e7422 3a223336 32306666 32343265 37323336 34633135 32373031 31353438 62393335 3066227d 2c202273 74617422 3a226f6b 227d29>

任何关于我做错事情的提示都将不胜感激:)我尝试访问Twitter API,并且工作得很好…


问题答案:

这很令人困惑,我一直在努力寻找如何更好地正确记录/设计文档的方法,但是您需要Accept将请求的标头设置为application/json

注册时AFJSONRequestOperation说:“任何通过的请求,如果它是JSON请求,我都会查看并处理”。您暗示请求为JSON的方式是设置适当的Accept标头,或将其添加.json为扩展名。目前,该请求正在遍历操作类的列表,但仅捕获AFHTTPRequestOperation,其响应对象类型为NSData(您在日志中看到的)。

抱歉造成混乱!



 类似资料:
  • 问题内容: 要将注册数据发送到服务器,我使用的JSON格式如下: 这是发送方式。 但不幸的是,我收到此错误: 问题答案: 您的要求很好。由于服务器使用无效的JSON对象进行响应,因此将返回错误。 看看发回了什么。

  • 问题内容: 我有一个Web脚本,该脚本接受JSON字符串作为通过HTTP POST请求的输入。我碰到了几个相同的AFNetworking 1.x示例,有人可以指点我还是举个AFNetworking 2.0示例向以JSON格式输入的Web脚本发出HTTP POST请求? 谢谢 问题答案: 搜索文档并尝试一些代码后,我以以下示例为例 同样不要忘记在服务器脚本中将响应头类型设置为Application

  • 在使用Model从json获取数据并将数据显示到我的应用程序中时,我有点困惑。 我有这种json数据: } 我正在尝试这种代码: 我正在使用“AFNetworking”,我正在尝试获取数据并存储到模型类中,然后显示到自定义单元格标签。 我怎样才能得到它。 谢谢你。

  • 我有一个问题。我想获取pin码,其中street=='abc strt'<我正在使用Jaway来实现这一点 jaywayxpath:,正在返回

  • 06-17 00:24:15.973 286 6-2907/azanmute.android.com.azanmute W/system.err:org.json.jsonException:java.lang.String类型的值不能转换为JSONObject 06-17 00:24:15.973 286 6-2907/azanmute.android.com.azanmute W/system

  • 问题内容: 我正在努力从格式如下的JSON文件中检索一些值: 我尝试了不同的方法(json,gson,jayway- JsonPath),但是我无法从“属性”数组中获取值,只能从第一个数组中获取值。我不知道如何指定“属性”是一个JSONArray而不是一个JSONObject或如何为其设置正确的路径。这是我正在玩的最后一个代码,当它找到一个数组时停止: 我想做的就是获得卢卡斯或布兰登的价值。任何帮