gpt4 book ai didi

json - 使用AFNetworking检索JSON的问题

转载 作者:行者123 更新时间:2023-12-03 12:23:10 25 4
gpt4 key购买 nike

我正在尝试使用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 header 。

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

抱歉造成困惑!

关于json - 使用AFNetworking检索JSON的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9159004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com