我正在使用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]];
我很好奇是否有更好或更有效的方法来做这个而不涉及阵列?我知道我只想要一个子串,剩下的对我来说没用。是否有任何方法可以将字符串从第三个"
子串到第四个?
我在查找我正在寻找的内容时遇到了问题,如果这是重复的话,那就很抱歉。
答案 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];