iOS 5 Json和utf8问题

时间:2012-08-24 13:19:29

标签: ios json utf-8

我使用iOS 5 JSON功能从网上加载数据。 我的目标是获取一些推特数据 - 数据通过网络过滤,我通过以下网址获取: 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输出中是否有错误,是的 - 确实如此。谢谢你的想法! :)

1 个答案:

答案 0 :(得分:0)

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