为什么NSJSONSerialization使用NSData而不是NSString?

时间:2013-07-25 15:55:00

标签: objective-c json cocoa-touch cocoa nsjsonserialization

NSJSONSerialization是否有理由使用NSData代替NSString来表示JSON数据?

NSString对我来说似乎是一个更明显的选择...

1 个答案:

答案 0 :(得分:4)

我认为鼓励解析NSData而不是NSString会更有效率。例如,如果要从服务器解析响应,则会得到一个NSData对象,表示从服务器返回的原始字节缓冲区(请注意NSJSONSerialization还包括解析{的方法。直接{1}}。将整个事物解析为NSInputStream将是一种浪费,因为那只会是一个被抛弃的中间对象。相反,NSString可能直接解析NSJSONSerialization对象中的字节,并仅为结果数据结构中的相应键和值构造NSData