0

我有一个带有自定义对象的 NSMutableArray。里面的对象有一个 NSData 字段。我想使用 JSON 格式将它们传输到我的 Web 服务,但我真的不知道如何使用 NSJSONSerialization 来实现,因为它不支持 NSData。你能告诉我是否可能,并为我提供一些示例代码或其他可以处理这个问题的库吗?

4

1 回答 1

6

不。正如NSJSONSerialization文档所明确指出的那样:

可以转换为 JSON 的对象必须具有以下属性:

  • 顶级对象是NSArrayor NSDictionary
  • 所有对象都是NSString, NSNumber, NSArray, NSDictionary, 或的实例NSNull
  • 所有字典键都是NSString.
  • 数字不是 NaN 或无穷大。

NSData显然没有这些属性。

因此,您可能想要做的是将其编码为 Base64 字符串或您认为可接受的其他形式(除了 Base64 之外还有很多选项,但这是立即浮现在脑海中的那个)。您也可以通过将其转换为使用适当转义码等的字符串(取决于数据是什么)来解决问题,但您应该确保这不会导致任何编码问题。

无论如何,答案是否定的。找到一种方法将其编码为一个或其他可以使用的NSString东西。NSJSONSerialization

于 2013-08-15T05:35:33.350 回答