从NSString NSJSONSerialization
是否有可能,如果我有一个NSString,我想使用NSJSONSerialization? 我该怎么做呢?
首先,您需要通过执行以下操作将您的NSString
转换为NSData
NSData *data = [stringData dataUsingEncoding:NSUTF8StringEncoding];
那么只需使用JSONObjectWithData
方法将其转换为JSON即可
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
您需要将您的NSString
转换为NSData
,那么您可以使用+[NSJSONSerialization JSONObjectWithData:options:error:]
方法。
NSString * jsonString = YOUR_STRING; NSData * data = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; NSError * error = nil; id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; if (!json) { // handle error }
您可以通过说:你的string转换为NSData
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
你可以使用它与NSJSONSerialization
。 但是请注意, NSJSONSerialization
只是iOS5,所以你最好使用像TouchJSON或JSONKit这样的库,它们都可以直接使用string,节省了转换为NSData的步骤。
我写了一篇博客文章,演示如何将本机iOS JSON类与通用协议一起使用,并使用本机iOS JSON类的实现。
这种方法使得使用本地function变得更容易,并减less了你必须编写的代码量。 此外,如果本机实现不足,则使用JSONKit实现本地实现变得更容易。
http://danielsaidi.com/blog/2012/07/04/json-in-ios
博客文章包含您需要的所有代码。 只需复制/粘贴:)
希望能帮助到你!