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