2011-06-22 44 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

相關問題