Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 解析字符串值_Objective C_Parsing - Fatal编程技术网

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 但我不知道如何做到这一点。请帮助我实现目标 您可以直

-我试图用Objective-C解析这个字符串值

  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
的开头和结尾之外,则此代码将无法正常工作。只有当它们分别是前缀/后缀时,您才需要删除它们。您的问题缺乏详细信息,您的答案越详细,您就越有可能从其他用户那里得到答复。例如,您可以让我们知道您尝试了什么,以及您遇到了什么困难。