2011-06-22 103 views
0

我是JSON的新手,刚开始围绕它的功能进行包装。JSON GET或POST的返回值应该是什么样子?

我想看看我是否可以从某些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 :)

+0

要写字典记录你可以简单地使用'NSLog(@“%@”,dict);'。你的字典似乎是空的,虽然(或n),因为没有“key .. value ..”在日志 –

+0

@babbidi中显示。究竟。任何想法为什么? –

回答

0

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

获取的响应从连接背面,然后使用下面的代码(其中响应是包含来自服务器的响应一个NSString):

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

NSDictionary *returnDict = (NSDictionary *)returnData; 

这是不相关的,但对于检查JSON数据,我也会推荐Online JSON Viewer。您可以粘贴您的JSON字符串并使用可折叠的数组结构查看它。很方便。

+0

JSONKit包含在我正在开发的一个项目中,所以为了保持简单,我将尽力坚持。任何想法,如果上述是有道理的? –

+0

换句话说,我的输出值应该是什么样子?由于某种原因,我不觉得好像一串数字是正确的:( –

+2

好吧,所以你的日志是说newConnection是一个字符串,并且字符串的值是那个varchar的东西?JSON响应应该看起来像这是:'{“key”:“value”,“key2”:“value2”} – Katfish

相关问题