Objective c 解析字符串值
-我试图用Objective-C解析这个字符串值Objective c 解析字符串值,objective-c,parsing,Objective C,Parsing,-我试图用Objective-C解析这个字符串值 NSString * str= @"MyDataCallBack({ "one": "john", "two": "mark", "three": "hanna" });"; 我想按名称获取值内容。请考虑这个伪代码: NSString*数据=解析(“一”) 然后它将输出“一”的值 NSLog(@“数据值为%@\n”,数据);//数据值为john 但我不知道如何做到这一点。请帮助我实现目标 您可以直
NSString * str= @"MyDataCallBack({
"one": "john",
"two": "mark",
"three": "hanna"
});";
我想按名称获取值内容。请考虑这个伪代码:
NSString*数据=解析(“一”)
然后它将输出“一”的值
NSLog(@“数据值为%@\n”,数据);//数据值为john
但我不知道如何做到这一点。请帮助我实现目标
您可以直接使用NSJSONSerialization来实现这一点:
NSString * str= @"MyDataCallBack({\"one\": \"john\", \"two\": \"mark\", \"three\": \"hanna\"});";
str = [str stringByReplacingOccurrencesOfString:@"MyDataCallBack(" withString:@""];
str = [str stringByReplacingOccurrencesOfString:@");" withString:@""];
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *ec = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
NSLog(@"%@",ec[@"one"]);
希望这有帮助 如果字符串
“MyDataCallBack(
或”;“
出现在str
的开头和结尾之外,则此代码将无法正常工作。只有当它们分别是前缀/后缀时,您才需要删除它们。您的问题缺乏详细信息,您的答案越详细,您就越有可能从其他用户那里得到答复。例如,您可以让我们知道您尝试了什么,以及您遇到了什么困难。