2013-03-04 212 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

相關問題