2017-01-02 67 views
-1
@"SaveRegistrationIDResult" : @"{\"Table\":[{\"Return_Code\":1,\"Return_Message\":\"ALREADY REGISTERED\"}]}" 

我發現從這個json字符串中獲取數據是不可能的。iOS從json字符串中獲取json對象

我正在使用此代碼將表格對象作爲NSDictionary獲取。

NSMutableDictionary *jsonData = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];   
NSData *processedJsondata = [jsonData objectForKey:@"SaveRegistrationIDResult"]; 

但我得到錯誤的一切,我嘗試未來。

我想從Table數組('Return_Code')中獲取數據並將其打印在日誌中。

+0

你在嘗試上面的代碼時得到了什麼錯誤? – vaibhav

+0

您提供的第一個代碼塊不是有效的JSON。數據變量的值是什麼? – yaakov

回答

3

你得到JSON字符串,所以你可以解析它像,

id jsonString = @"{\"Table\":[{\"Return_Code\":1,\"Return_Message\":\"ALREADY REGISTERED\"}]}"; // or [yourDictionary objectForKey : @"SaveRegistrationIDResult"]; 

    NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 
    id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 

現在你可以從上面的物體,像得到任何鍵的值,

NSArray *arr = [jsonObject objectForKey : @"Table"]; 

    NSLog(@"your result : %@", arr); 
0

獅子的評論工作。 這就是我提取價值的方式。任何優化歡迎。

NSMutableDictionary *jsonData = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; 

     NSString *processedJsondata = [jsonData objectForKey:@"SaveRegistrationIDResult"]; 

     NSData *tableData = [processedJsondata dataUsingEncoding:NSUTF8StringEncoding]; 

     NSDictionary *tableJsonObject = [NSJSONSerialization JSONObjectWithData:tableData options:0 error:nil]; 
     NSArray *tableArray = [tableJsonObject objectForKey:@"Table"]; 
     NSDictionary *tableObject = [tableArray objectAtIndex:0]; 
     NSString *reposnseCode = [tableObject objectForKey:@"Return_Message"]; 


     NSLog(@"%@",reposnseCode); 
+3

我還沒有評論!這是一個答案:) – Lion