如何在字符串中的第三个和第四个分隔字符之间获取子字符串?

时间:2013-03-04 18:47:03

标签: ios objective-c

我正在使用API​​来创建一些图像。当我发出HTTP请求时,我返回了一个如下字符串:

{"img": "?svg=mscfP39TT", "errors": [],"naturalWidth": 199.671,"actualWidth": 199.671}

如果我将?svg=mscfP39TT附加到网站的网址,则会显示该图片。为了获得这个子字符串,我目前正在这样做:

NSArray *splitStrings = [imgLoc componentsSeparatedByString:@"\""];
NSString *URL = [@"site.com/" stringByAppendingString:[splitStrings objectAtIndex:3]];

我很好奇是否有更好或更有效的方法来做这个而不涉及阵列?我知道我只想要一个子串,剩下的对我来说没用。是否有任何方法可以将字符串从第三个"子串到第四个?

我在查找我正在寻找的内容时遇到了问题,如果这是重复的话,那就很抱歉。

1 个答案:

答案 0 :(得分:3)

您应该使用NSJSONSerialization类解析它,而不是通过黑客攻击并对您返回的确切字符串进行假设,因为它似乎是有效的JSON。

NSData *strData = [stringResponse dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:strData options:kNilOptions error:NULL];
NSString *query = [dict objectForKey:@"img"];
NSString *urlStr = [@"site.com/" stringByAppendingString:query];