2013-07-19 17 views
-1

如何從下面的代碼中提取「令牌」值?我正在尋找保存這個值到一個字符串。如何從下面的代碼中提取值?

是元數組?如果是這樣,我將如何從「標記」值提取數據?

感謝您的幫助

NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding]; 


Response ==> {"meta":[],"data":{"token":"IVZ2ciRkbVtDLUl3YmhwOTkyXzpRR1M3LUUsRiElfWF6T3I6dCxsRWg6di1XcyR6OTUzZHhVazdLTEJ7blU5O258d2xRTXg0VUxwQXBlNHRSOXd2VXZ1aG1RfFhQQjJsSkkoc2IuOTFyYkYodyhAe2RldXR1aDF3RClXWyhoMiU="}} 
2013-07-19 15:10:23.139 appName [11190:907] { 
    data =  { 
     token = "IVZ2ciRkbVtDLUl3YmhwOTkyXzpRR1M3LUUsRiElfWF6T3I6dCxsRWg6di1XcyR6OTUzZHhVazdLTEJ7blU5O258d2xRTXg0VUxwQXBlNHRSOXd2VXZ1aG1RfFhQQjJsSkkoc2IuOTFyYkYodyhAe2RldXR1aDF3RClXWyhoMiU="; 
    }; 
    meta =  (
    ); 
} 

回答

2

我相信數據是JSON格式。在這種情況下,這應該起作用。

NSError *error = nil; 
NSDictionary *responseDict = [NSJSONSerialization JSONObjectWithData:urlData options:0 error:&error]; 
NSString *token = [[responseDict objectForKey:@"data"] objectForKey:@"token"]; 
+0

完美!我會接受答案:)謝謝! – hanumanDev

1

在你的情況,metaArraydataDictionary。如果您的響應在JSON中格式正確,那麼您可以使用下面的示例代碼獲取TokenStringmetaArray

示例代碼:

NSData *data = [NSData dataWithContentsOfURL:yourURL]; 
NSError* error = nil; 
NSDictionary* responseDict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; 
NSString *token = [[responseDict objectForKey:@"data"] objectForKey:@"token"]; 
NSArray *meta = [responseDict objectForKey:@"meta"]; 
NSLog(@"\ntoken :: %@\nmeta :: %@",token,meta); 

PS:要了解更多關於JSON的反應,看看這個Answer

1

我只是這樣做:

NSData *responseData = [NSData dataWithContentsOfURL:yourURL]; 
NSString *token = [NSJSONSerialization JSONObjectWithData:responseData 
    options:kNilOptions error:NULL][@"data"][@"token"]; 

這將是nil,如果有任何錯誤。

相關問題