0

カスタム オブジェクトを含む NSMutableArray があります。内部のオブジェクトには NSData フィールドがあります。JSON 形式を使用してそれらを Web サービスに転送したいのですが、NSData をサポートしていないため、NSJSONSerialization でそれを行う方法がよくわかりません。可能かどうか教えてください。また、これを処理できるサンプル コードまたは他のライブラリを提供してもらえますか?

4

1 に答える 1

6

いいえ。NSJSONSerializationドキュメントが明らかにしているように:

JSON に変換できるオブジェクトには、次のプロパティが必要です。

  • 最上位オブジェクトはNSArrayorNSDictionaryです。
  • すべてのオブジェクトはNSStringNSNumberNSArrayNSDictionary、またはのインスタンスですNSNull
  • すべてのディクショナリ キーは のインスタンスですNSString
  • 数値は NaN または無限大ではありません。

NSData明らかにそれらのプロパティを持っていません。

そのため、おそらくやりたいことは、Base64 文字列または受け入れられると思われる他の形式としてエンコードすることです (Base64 以外のオプションはたくさんありますが、すぐに思いつくのは Base64 です)。また、適切なエスケープ コードなどを使用する文字列 (データが何であるかに応じて) に変換するだけでうまくいく場合もありますが、エンコードの問題が発生しないことを確認する必要があります。

とにかく、答えはノーです。としてエンコードする方法を見つけるか、他のNSString何かNSJSONSerializationで動作します。

于 2013-08-15T05:35:33.350 に答える