0

NSURLConnectionと を使用して JSON の API からデータをダウンロードしていますNSJSONSerialization。JSON は&、HTML アンパサンド リテラルのように all を返します: &.

それがサーバー上で適切にエンコードされ、UTF-8からUnicodeに変換され、私&がその仕事をしていると思われるかどうかで受信されるかどうか疑問に思っています。

データをダウンロードするために使用するコードは次のとおりです。

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:api_url]];
    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
    [NSURLConnection sendAsynchronousRequest:request
                                       queue:queue
                           completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
                               NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
                               // do work
                           }];
4

2 に答える 2

0

JSON は何らかの Unicode 形式でエンコードする必要があります。形式は、UTF-8、UTF-16 ビッグ エンディアンまたはリトル エンディアン、または UTF-32 ビッグ エンディアンまたはリトル エンディアンです。JSON 文字列の文字は、たとえば \u007f のようにエンコードできますが、 & 文字がある場合、それはサーバーが送信したいデータです。たとえば、サーバーが html または URL を含む文字列を送信すると、& 文字とすべてを含む文字列を受信します。

于 2014-05-20T09:47:21.377 に答える