カスタム オブジェクトを含む NSMutableArray があります。内部のオブジェクトには NSData フィールドがあります。JSON 形式を使用してそれらを Web サービスに転送したいのですが、NSData をサポートしていないため、NSJSONSerialization でそれを行う方法がよくわかりません。可能かどうか教えてください。また、これを処理できるサンプル コードまたは他のライブラリを提供してもらえますか?
1 に答える
6
いいえ。NSJSONSerializationドキュメントが明らかにしているように:
JSON に変換できるオブジェクトには、次のプロパティが必要です。
- 最上位オブジェクトは
NSArrayorNSDictionaryです。- すべてのオブジェクトは
NSString、NSNumber、NSArray、NSDictionary、またはのインスタンスですNSNull。- すべてのディクショナリ キーは のインスタンスです
NSString。- 数値は NaN または無限大ではありません。
NSData明らかにそれらのプロパティを持っていません。
そのため、おそらくやりたいことは、Base64 文字列または受け入れられると思われる他の形式としてエンコードすることです (Base64 以外のオプションはたくさんありますが、すぐに思いつくのは Base64 です)。また、適切なエスケープ コードなどを使用する文字列 (データが何であるかに応じて) に変換するだけでうまくいく場合もありますが、エンコードの問題が発生しないことを確認する必要があります。
とにかく、答えはノーです。としてエンコードする方法を見つけるか、他のNSString何かNSJSONSerializationで動作します。
于 2013-08-15T05:35:33.350 に答える