0

我将一些凭据发送到 Web 服务。

我可以得到 NSData 或 NSString 的响应。

将(NSData 或 NSString)JSON 转换为 NSDictionary 以便我可以处理它的最简单方法是什么?

为 iOS4.3 构建非常感谢,-代码

4

4 回答 4

1

从 iOS 5.0 开始,您可以在此处NSJSONSerialization使用文档。

这里有一个很好的使用教程。

于 2012-07-05T07:51:36.890 回答
0

用这个 :

NSString *urlString = [NSString stringWithFormat:kURLString,self.chapter,self.page];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[urlString dataUsingEncoding:NSISOLatin1StringEncoding]];

NSData* responseData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:nil error:nil];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSISOLatin1StringEncoding];


NSDictionary* result = [(NSDictionary*)[responseString JSONValue] objectForKey:@"Result"];
于 2012-07-05T07:48:49.777 回答
0

我使用 SBJson

NSArray *arrObj = (NSArray*)[[JsonParser sharedJsonParser] getObjectsFromJsonString:responseString];

响应字符串在这里是一个 JSON 字符串

于 2012-07-05T08:12:03.243 回答
0

使用链接下载 SBJsonParser 框架,http ://github.com/stig/json-framework/downloads 并将所需的类添加到您的项目 (SBJsonParser.h)。

导入 SBJsonParser.h 并使用以下代码,

    SBJsonParser *parser = [[SBJsonParser alloc] init];

     //dictionary with name,id
     NSDictionary *jsonObject = [parser objectWithString:jsonString error:NULL];  

     //name array                
      NSMutableArray *nameArray = [[NSMutableArray alloc]init];
   for (NSMutableDictionary *dic in jsonObject){

      [nameArray addObject:[dic valueForKey:@"name"]];
    }
于 2012-07-05T08:25:12.850 回答