【发布时间】:2012-01-26 05:54:32
【问题描述】:
在我的 iOS 5 应用程序中,我有一个包含 JSON 字符串的 NSString。我想将该 JSON 字符串表示反序列化为原生 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'
【问题讨论】:
-
这是我的方法:NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:@"{\"2\":\"3\"}" 选项:NSJSONReadingMutableContainers 错误:&e];我得到:2011-12-22 17:18:59.300 Pi9000[938:13803] -[__NSCFConstantString bytes]:无法识别的选择器发送到实例 0x1372c 2011-12-22 17:18:59.302 Pi9000[938:13803] ***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFConstantString bytes]: unrecognized selector sent to instance 0x1372c”
-
参见my answer,它展示了将 JSON 字符串反序列化为 Swift 3 和 Swift 4 字典的两种不同方法。
标签: ios json ios5 nsstring nsdictionary