2009-10-30 54 views
0

我花了一个星期的时间研究目标C.现在我对处理数据部分感到很困惑。 我的朋友给了我一个链接 http://nrj.playsoft.fr/v3/getQuiz.php?udid=23423455&app=2 并要求我写一个类来解析这个JSON。我不知道解析JSON的含义。但我已经上网查找了。我可以理解它的基础知识,然后实现了一堆代码来解析这个JSON。那就是:使用目标C解析JSON?

-

(void)parseURL 
{ 
    //create new SBJSON object 
    SBJSON *parser = [[SBJSON alloc] init]; 
    NSError *error = nil; 
    //perform request from URL 
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://nrj.playsoft.fr/v3/getQuiz.php?udid=23423455&app=2"]]; 
    // Perform request and get JSON back as a NSData object 
    NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error]; 

    // Get JSON as a NSString from NSData response 
    NSString *json_string = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]; 

    // parse the JSON response into an object 

    NSDictionary *results = [parser objectWithString:json_string error:&error]; 
    // array just for the "answer" results 
    NSArray *quizes = [results objectForKey:@"quiz"]; 

    NSDictionary *firstQuiz = [quizes objectAtIndex:0]; 
    // finally, the name key 
    NSString *extract = [firstQuiz objectForKey:@"extract"]; 
    NSLog(@"this is: %@", [extract valueForKey:@"extract"]); 

} 

这是在实现文件中,但在头文件我没有声明任何变量,它会打印出一些错误。我试图运行这个,没有错误,但我不确定这段代码是否正确。我的朋友让我写一个课程到一个现有的项目中。我不知道需要修改什么,什么不需要修改。我现在很模糊。任何人都可以在这里帮助我。 ? 我真诚的感谢。


感谢您的回复。我已经下载并添加了JSON框架ealier。我只是不确定从哪里开始,到哪里结束,这意味着我将JSON框架添加到其中时应该执行的步骤。我可以理解语法,但我不确定应该采取的步骤。我是这个新手。

+0

它做什么或不做什么? – 2009-10-30 04:05:30

回答

-1

我推荐使用Ray Wenderlich的MapKit教程,特别是如果你是新手。它涵盖了几个常见的iOS开发问题,包括解析JSON数据。

http://www.raywenderlich.com/2847/introduction-to-mapkit-on-ios-tutorial

“的执行情况”部分中,他的JSON饲料检索,然后“绘制数据”,他使用SBJson库来解析进去。

+0

如果您从头开始学习这样的教程,那么您将更容易理解如何将此类内容添加到现有项目中。 – wtbgtr 2012-04-16 15:42:07

4

如果你支持iOS 5.0+,你应该使用内置的NSJSONSerialization。 它是faster than TouchJSON

+0

恭喜,你刚刚回答了一个几乎4岁的问题,已经有了答案。虽然你是正确的,但在2009年10月,NSJSONSerialization还没有发明。 – Fogmeister 2013-08-21 14:56:13

+7

@Fogmeister欢迎来到2013!接受的答案已过时,这是发布新更新内容的绝佳理由。任何来这里寻找JSON解析器的人现在都会知道Apple有一个内置的解析器。 – 2013-08-21 15:05:19