如何解析比NSString更长的JSON文件?

时间:2010-10-27 19:07:24

标签: iphone json nsstring nsarray

我有点陷入一个项目。 我正在编写一些代码来获取JSON文件并将其存储在NSString中,然后再将其解析为NSArray。

但是我收到了一个错误:

  

2010-10-27 20:59:44.813 GeraldKervyn [21752:207] -JSONValue失败。错误跟踪是:(       “Error Domain = org.brautaset.JSON.ErrorDomain Code = 3 \”无法识别的前导字符\“UserInfo = 0x7637890 {NSLocalizedDescription =无法识别的前导字符}”

我认为问题与NSString可以采取的有限值有关。

BTW这是我正在使用的Feed:http://www.geraldkervyn.com/api/get_recent_posts/

将此解析为NSArray最方便的方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

首先,将SBJson代码添加到您的项目中,由Stig Brautaset提供。然后这样做......

 NSString *subject = @"http://www.geraldkervyn.com/api/get_recent_posts/";
 NSString *encodedSubject = 
    [subject stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

 NSString *test = [NSString stringWithContentsOfURL:[NSURL URLWithString:encodedSubject]];
 SBJsonParser *parser = [[SBJsonParser new] autorelease];
 NSDictionary *json = [parser objectWithString:test];
 NSArray *values = [json objectForKey:@"posts"];