2

JSONを多くの文字列ペアを持つNSDictionaryにデコードしようとしています。返される文字列の一部はでは&なくとして返され&、英語以外の文字の一部は、正しくデコードされた値ではなく、urlエンコードされた値として表示されます。どうすればこれを修正できますか?

NSString *strContent = [[NSString alloc] initWithBytes:[responseData bytes] length:[responseData length] encoding: NSUTF8StringEncoding];

//I cache the string here

NSData *jsonData = [strContent dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *dictionary = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];
4

1 に答える 1

1

到着したときのペイロードです。辞書の作成後にこれを処理する必要があります。これは、データを操作したり、事前に辞書をトラバースしたりして、データを目的の形式に変換するための作業を行う必要がある場合に、ちょうど間に合うように行うことができます。

次のNSStringメソッドは、URLエンコードをエスケープ解除するのに便利です。stringByReplacingPercentEscapesUsingEncoding

htmlエンティティをエスケープ解除するには、この「objective-c-html-escape-unescape」を参照してください。これにより、クリーンな方法が提供されます。

于 2011-02-26T20:03:31.067 に答える