在我的 iOS 5 应用程序中,我有一个包含 JSON 字符串的 NSString
。我想将该 JSON 字符串表示反序列化为 native NSDictionary
对象。
"{\"password\" : \"1234\", \"user\" : \"andreas\"}"
我尝试了以下方法:
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:@"{\"2\":\"3\"}"
options:NSJSONReadingMutableContainers
error:&e];
但它会引发运行时错误。我做错了什么?
-[__NSCFConstantString bytes]: unrecognized selector sent to instance 0x1372c
*** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[__NSCFConstantString bytes]: unrecognized selector sent to instance 0x1372c'
最佳答案
看起来你正在传递一个 NSString
参数,而你应该传递一个 NSData
参数:
NSError *jsonError;
NSData *objectData = [@"{\"2\":\"3\"}" dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:objectData
options:NSJSONReadingMutableContainers
error:&jsonError];
关于ios - 如何将 JSON 字符串反序列化为 NSDictionary? (适用于 iOS 5+),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8606444/