我有一个带有自定义对象的 NSMutableArray。里面的对象有一个 NSData 字段。我想使用 JSON 格式将它们传输到我的 Web 服务,但我真的不知道如何使用 NSJSONSerialization 来实现,因为它不支持 NSData。你能告诉我是否可能,并为我提供一些示例代码或其他可以处理这个问题的库吗?
问问题
371 次
1 回答
6
不。正如NSJSONSerialization
文档所明确指出的那样:
可以转换为 JSON 的对象必须具有以下属性:
- 顶级对象是
NSArray
orNSDictionary
。- 所有对象都是
NSString
,NSNumber
,NSArray
,NSDictionary
, 或的实例NSNull
。- 所有字典键都是
NSString
.- 数字不是 NaN 或无穷大。
NSData
显然没有这些属性。
因此,您可能想要做的是将其编码为 Base64 字符串或您认为可接受的其他形式(除了 Base64 之外还有很多选项,但这是立即浮现在脑海中的那个)。您也可以通过将其转换为使用适当转义码等的字符串(取决于数据是什么)来解决问题,但您应该确保这不会导致任何编码问题。
无论如何,答案是否定的。找到一种方法将其编码为一个或其他可以使用的NSString
东西。NSJSONSerialization
于 2013-08-15T05:35:33.350 回答