如何将JSON字符串反序列化为NSDictionary? (适用于iOS 5+) [英] How do I deserialize a JSON string into an NSDictionary? (For iOS 5+)
本文介绍了如何将JSON字符串反序列化为NSDictionary? (适用于iOS 5+)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的iOS 5应用中,我有一个包含JSON字符串的 NSString
。我想将JSON字符串表示反序列化为本机 NSDictionary
对象。
In my iOS 5 app, I have an NSString
that contains a JSON string. I would like to deserialize that JSON string representation into a native NSDictionary
object.
"{\"password\" : \"1234\", \"user\" : \"andreas\"}"
我尝试了以下方法:
I tried the following approach:
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:@"{\"2\":\"3\"}"
options:NSJSONReadingMutableContainers
error:&e];
但它会引发运行时错误。我做错了什么?
But it throws the a runtime error. What am I doing wrong?
-[__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
参数:
It looks like you are passing an NSString
parameter where you should be passing an NSData
parameter:
NSError *jsonError;
NSData *objectData = [@"{\"2\":\"3\"}" dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:objectData
options:NSJSONReadingMutableContainers
error:&jsonError];
这篇关于如何将JSON字符串反序列化为NSDictionary? (适用于iOS 5+)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文