2

iOS5JSON機能を使用してWebからデータをロードします。私の目標は、いくつかのTwitterデータを取得することです-データはWeb経由でフィルタリングされ、次のURL経由で取得します: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 に答える