2015-12-21 51 views
0

在這裏,我上傳的喜歡我的迴應:解析參數的NSString

<__NSCFArray 0x7fc27364d270>(
{ 
    Emailid = "[email protected]"; 
    MobileNo = 946545364; 
    Name = Brahmam; 
    Password = 1234; 
    id = 120; 
} 
) 

我寫了這樣的代碼::

userIdStr = [array1 valueForKey:@"id"]; 
userEmailIdStr = [array1 valueForKey:@"Emailid"]; 
userPasswordStr = [array1 valueForKey:@"Password"]; 
userFirstNameStr = [array1 valueForKey:@"Name"]; 
userMobileNoStr = [array1 valueForKey:@"MobileNo"]; 

但我沒有收到在String適當的響應。我怎樣才能得到?你能幫我解決嗎?

+0

字符串的外觀如何? – dan

+0

我得到如下響應::: <__ NSArrayI 0x7f914acf67c0>() 但我在尋找:: 120 –

+0

那麼,你的數組包含1個字典? –

回答

1

取如下,

userIdStr = [[array1 objectAtIndex:0]valueForKey:@"id"]; 
userEmailIdStr = [[array1 objectAtIndex:0]valueForKey:@"Emailid"]; 
userPasswordStr = [[array1 objectAtIndex:0]valueForKey:@"Password"]; 
userFirstNameStr = [[array1 objectAtIndex:0]valueForKey:@"Name"]; 
userMobileNoStr = [[array1 objectAtIndex:0]valueForKey:@"MobileNo"]; 
+0

ThanQ。這對我來說是完美的解決方案 –

0

你應該先了解JSON。對於你的情況,它返回一個包含一個元素的數組。該元素是另一種JSON結構。此外,您還需要知道valueForKey的用途。它只是通過對庫類無意義的字符串從NSArray訪問屬性。當您創建自己的課程時,通過使用字符串來設置或獲取屬性時廣泛使用。

你需要做的是:取那個元素爲NSDictionary,這就是你想要的數據結構。然後,您可以使用簡單模式從鍵中檢索值。

1

這就是着名的valueForKey:陷阱。

valueForKey:是具有特殊功能的KVC方法。
應用於字典數組時,它總是返回一個包含特定鍵的所有值的數組。

獲得密鑰使用的單個值總是objectForKey:或下標。

userIdStr = [array1[0] objectForKey:@"id"]; 

or 

userIdStr = array1[0][@"id"];