0

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

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

如果我附加?svg=mscfP39TT到站点的 URL,它会显示图像。为了得到这个子字符串,我目前正在这样做:

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

我很好奇是否有更好或更有效的方法可以在不涉及数组的情况下做到这一点?我知道我只想要一个子字符串,其余的对我来说没用。有没有办法将字符串从第三个"到第四个子串起来?

我在表达我要查找的内容时遇到问题,如果这是重复的,请见谅。

4

1 回答 1

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];
于 2013-03-04T18:49:28.713 回答