2013-08-30 88 views
0

我收到了服務器的響應。NSString有一些屬性值使用&符號如何獲得該屬性值

我已經將這些值存儲在一個字符串中。

但我的問題是該字符串有一些屬性值與&符號它不是一個XML結構,所以我怎麼能得到該字符串中的屬性值。

這是我得到服務器的響應。 [新行已被添加爲清楚起見,這是所有在一行中一起運行 - 編者]

&currency_code=USD 
&currency_symbol$ 
&[email protected] 
&usertypecode=ROBT 
&id=fcscdj 
&player_level=1 
&player_isblocked=false 
&lang=en 
&respond=true 
&flylogin=false 
&str=PageEnd 
&user_balance=100000394.90 
&user_bonus_balance=0.00 
&user_id=e4567 

我怎樣才能得到這個值並且顯示在標籤例如貨幣代碼值需要像美元一個標籤以示在那個標籤。 喜歡,我需要做的所有DIS email_idusertypecodeplayer_isblocked

請大家幫我出這個問題

+1

這些「屬性值」看起來像HTTP請求查詢參數。看看這個SO問題的可接受的答案可能的解決方案:http://stackoverflow.com/questions/2225814/nsurl-pull-out-a-single-value-for-a-key-in-a-parameter-串 – trojanfoe

回答

1

那麼對於初學者,看起來像數據可以被認爲類似於一個NSDictionary

你可以採取這個字符串作爲NSString,並通過與@"&"的ARG發送消息componentsSeparatedByString:得到NSArray

NSArray *firstArray = [responseString componentsSeparatedByString:@"&"]; 

然後創建一個NSMutableDictionary

NSMutableDictionary *mDict = [[ NSMutableDictionary alloc] initWithCapacity: firstArray.count ]; 

然後使用快速枚舉來填充鍵值對。

for (NSString *aKVP in firstArray) { 
    NSArray *tempArray = [aKVP componentsSeparatedByString:@"="]; 
    [mDict setValue: tempArray[1] forKey: tempArray[0] ]; 
} 

然後你有一個可以使用的數據結構。 您可以通過按鍵訪問這些值來設置按鈕標籤或任何您想要執行的操作。

其他方法將包括諸如NSScannerNSRegularExpression之類的內容,但如果您需要其他方法,則這是非常直接和靈活的。

+0

@mttrb我有一個疑問我已經讓所有的值從tempArray像DIS( usertypecode, ROBT ) 我怎麼只能在一個標籤我已經得到很多價值觀就像temparray DIS( 「EMAIL_ID」顯示ROBT , 「[email protected]」 ) tempArray( 「user_currency_code」, 美元 ) – Balaji

+0

只要看看你想要的值。 – uchuugaka

+0

我不知道如何獲得價值和顯示標籤我是新的iphone。請幫我解決問題 – Balaji