2013-05-13 35 views
1

我有一個webservice從數據庫中吐出JSON響應,我打算在我的iPad應用程序中使用該響應。確保來自JSON響應的字符串值

但是,根據運行web服務的服務器,它要麼將整數轉換爲整數,要麼將其作爲字符串返回。由於我無法確定這種類型,我必須在我的應用程序中採取任何方式。

所以,我有一個NSDictionary從中我使用objectForKey:獲得的值。然後我嘗試撥打stringValue,但顯然只有當該值不是字符串時纔有效。

是否有一個簡單的方法來執行一個字符串類型時有NSString或NSInteger實例?

+0

如果你的JSON包含一個整數值,是不是被包裹到一個'NSNumber'中以便存儲在一個'NSDictionary'或'NSArray'中?現在無法證明它,但如果是這樣,你可以做'NSString * absolutelyAString = [NSString stringWithFormat:@「%@」,unsureString]; (你的unsureString是你通過'objectForKey得到的值:' – HAS 2013-05-13 20:34:26

+1

完美!提交這個答案就可以得到積分:) – Franz 2013-05-13 20:48:10

回答

1

你可以簡單地做

NSString *definitelyAString = [NSString stringWithFormat:@"%@", unsureString]; 

其中unsureString是你通過objectForKey:獲得的價值。

1
NSString *stringValue; 
if ([value isKindOfClass:[NSString class]]) 
{ 
    stringValue = value; 
} 
else 
{  
    stringValue = [value stringValue]; 
} 
+0

沒有簡短的方法嗎? – Franz 2013-05-13 20:25:10

+0

stringValue = [value isKindForClass:[NSString class]] value:[value stringValue]; 對於那些認爲長度是字母問題的人來說。 – 2013-05-13 20:28:46

+0

不是說在Objective-C中會有這麼短的東西。 ;) – Franz 2013-05-13 20:35:04