JSON GET或POST的返回值应该是什么样的?

时间:2011-06-22 16:21:10

标签: iphone objective-c xcode json http

我是JSON的新手,刚刚开始围绕它的功能。

我正在尝试查看是否可以从某些JSON方法打印一些数据。我一直在第一个和被注释掉的那个之间交替。我的想法是看看我是否可以任何打印:

id newConnection =  [scAPI performMethod:@"GET" onResource:@"me/connections.json" withParameters:nil context:nil userInfo:nil];



//  id newConnection =   [scAPI performMethod:@"POST"
//            onResource:@"connections"
//        withParameters:[NSDictionary dictionaryWithObjectsAndKeys:
//                        @"facebook_profile", @"service",
//                        @"imc://connection", @"redirect_uri",
//                        @"touch", @"display", //optional, forces services to use the mobile auth page if available
//                        nil]
//               context:nil
//              userInfo:nil];

   NSLog(@"newConnection %@", newConnection);


   NSLog(@"Is of type: %@", [newConnection class]);



   NSDictionary *dict = [newConnection objectFromJSONString];


for (id key in dict) {

    NSLog(@"key: %@, value: %@", key, [dict objectForKey:key]);

}

以上代码没有错误,我得到的日志如下:

enter image description here

这看起来不错吗?如何正确使用这些JSON方法来获取值的字典?


编辑1

要清楚我正在使用JSONKit:)

1 个答案:

答案 0 :(得分:0)

我个人建议使用SBJSON library。用它来获取字典很简单。

从连接中获取响应,然后使用以下代码(其中response是包含服务器响应的NSString):

SBJsonParser *parser = [[SBJsonParser alloc] init];
NSArray *returnData = [parser objectWithString:[response stringByReplacingOccurrencesOfString:@"\\\\" withString:@"\\"]];
[parser release];

NSDictionary *returnDict = (NSDictionary *)returnData;

这是无关的,但是为了检查JSON数据,我还建议Online JSON Viewer。您可以粘贴JSON字符串并使用可折叠数组结构查看它。非常方便。