iOS JSON NSString解析

问题描述:

我有一个JSON字符串作为iOS中的NSString对象。我想解析这个,并提取JSON字符串中给定的参数。有没有一种有效的方法来解析这个或者是唯一的方式来搜索子字符串等?iOS JSON NSString解析

与iOS 5做它的方式是使用NSJSONSerialization类。您将要先把你的字符串转换为一个NSData对象,然后调用类的方法JSONObjectWithData

NSData *jsonData = [myJsonString dataUsingEncoding:NSUTF8StringEncoding]; 
NSError *e; 
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:nil error:&e]; 

注意JSONObjectWithData将返回一个NSDictionary或NSArray的,这取决于是否您的JSON字符串表示的字典或数组。

+9

请注意,您应该使用0或NSJSONReadingMutableContainers作为选项来抑制编译器警告。 – 2014-02-02 10:10:07

将JSON字符串转换为Objective-C对象(NSArrayNSDictionary)的好框架是SBJsonGithub)。

用法:

NSDictionary *dict = [myJsonString JSONValue]; 
+0

有没有办法用iOS 5 JSON做到这一点? – user1120008 2012-04-17 23:55:33

+0

是的,但它涉及更多,并且限制了您的应用程序仅在iOS 5上运行。 – 2012-04-18 00:01:13

+0

我同意,SBJSON是您的朋友。比官方API更方便,并且也适用于较旧的iOS版本。 – aroth 2013-02-03 05:07:46