2

我使用 iOS 5 JSON 功能从 Web 加载数据。我的目标是获取一些推特数据 - 数据通过网络过滤,我通过以下网址获取: http ://botpwn.org/ios/getfollowers.json?uid=63964843

那行得通,我在那里没有问题 - 但我的问题始于解析我的应用程序中的数据。

我在这里加载数据

    dispatch_async(kBgQueue, ^{
                  NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://botpwn.org/ios/getfollowers.json?uid=%@", my_uid]]];
          [self performSelectorOnMainThread:@selector(fetchedData:) 
                                 withObject:data waitUntilDone:YES];
      });

  -(void)fetchedData:(NSData *)responseData {
      NSError* error;
      NSDictionary* json = [NSJSONSerialization 
                            JSONObjectWithData:responseData                        
                            options:kNilOptions 
                            error:&error];

      latestFollower = [json objectForKey:@"followers"]; //2    

      for (int i = 0; i < [latestFollower count]; i++){
          [temp addObject:[latestFollower objectAtIndex:i]];

      }

      if (latestFollower == nil || latestFollower.count == 0){
          NSLog(@"No followers");
      }
  }

现在我总是得到答案,我有一个空的 latestFollower 数组——我知道问题是,twitter 用户的某些名称(不是屏幕名称)包含特殊字符,iOS 无法解析它。

我搜索了解决方案(将 php 标头设置为 utf8 等),但没有任何帮助。

也许您知道如何正确解析它,或者我做错了什么但我不明白。

编辑:我自己修复了它 - 最后我使用了一个工具(http://jsonlint.com/)来检查 json 输出中是否有错误,是的 - 是的。谢谢你的想法!:)

4

1 回答 1

0

自己修好了——最后我使用了一个工具(http://jsonlint.com/)来检查 json 输出中是否有错误,是的——确实如此。谢谢你的想法!:)

于 2013-04-08T09:37:45.730 回答