2013-03-04 210 views
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]]; 

我如果有一个更好或更有效的方式来做到这一点,而不涉及一个数组好奇?我知道我只想要一个子字符串,其余的对我来说是无用的。有什么办法可以将字符串从第三个"分支到第四个?

我有麻烦措辞措辞我正在寻找,所以很抱歉,如果这是重复的。

+1

请阅读常见的基于Web的数据传输格式。如果您真的想要与任何网络后端进行交互,您应该能够识别JSON,XML,Base64编码的数据,URL百分比转义等。 – 2013-03-04 18:53:19

+0

为什么这个问题被低估?肯定这是一种初学者问题。没有什么不妥。从技术上讲,这不是重复的 - 尽管这里有很多问题。 OP显示出至少一半的问题比我们在这里遇到的问题要多得多。我赞成这并不是因为我认为它值得赞扬 - 它不是那么好 - 而是为了刺激不公平的低估。在此问题的基础上,H2CO3给出了一个很好的建议(不仅适用于OP)。 – 2013-03-04 19:04:06

+0

@rokjarc [你做错了。](http://meta.stackexchange.com/questions/74666/is-voting-to-balance-in-the-spirit-of-the-site) – 2013-03-04 19:09:02

回答

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]; 
+0

几周前我匆匆把这些代码扔在一起,只是注意到了它。我应该回溯更多,使用API​​的网站上的帮助页甚至告诉我它返回JSON。尴尬。感谢您的帮助。 – turbo 2013-03-04 19:03:47

相关问题