2014-10-07 27 views
1

我使用NSJSONSerialization的JSONObjectWithData方法将JSON响应数据序列化为NSDictionary层次结构,作为我在IOS中处理API的一部分。这很好。然而,长期乏味的部分是,当使用XCode调试器时,嵌套的json数据结构在变量观察器中不可见。最后可以在照片中看到这一点。数据在代码中都是可访问和可导航的,它不适用于调试器。NSJSONSerialization json对象导致恼人的空XCode调试变量

有没有什么方法可以清理或序列化它更好?

[NSURLConnection sendAsynchronousRequest:urlRequest queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){ 
    if (error){ 
     NSLog(@"Request Error: %@", [error localizedDescription]); 
     if(completionHandler != nil){ 
      completionHandler(nil,error); 
     } 
    } else { 
     NSError *jsonerror = nil; 
     NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonerror]; 
     if(jsonerror) { 
      NSLog(@"JSON Serialize Error: %@", [jsonerror localizedDescription]); 
      if(completionHandler != nil){ 
       completionHandler(nil,jsonerror); 
      } 
     } else { 
      if(completionHandler != nil){ 
       completionHandler(json,nil); // usual successful json route 
      } 
     } 
    } 
}]; 

enter image description here

+0

你能打印JSON作为字符串看到数据的外观? – 2014-10-07 20:48:37

+1

在代码中的断点处,切换到“控制台”窗格(其中打印NSLog信息)并输入“po jsonResp”。如果你使用NSLog'jsonResp',将会打印出你看到的相同图像。 – 2014-10-07 21:45:46

+0

我目前在加载时打印json,但它往往会很长。能够使用调试器快速查找字段并导航层次结构将会很有帮助。 – Miro 2014-10-08 00:35:57

回答

0

尝试使用AFNeteorking进行序列化。 https://github.com/AFNetworking/AFNetworking

它可能有帮助。 如果没有,您可以在调试器的控制台部分使用po打印您所需的任何东西。

PO对象

例如

相关问题