2015-10-20 125 views
1

請幫助我任何人我試圖將NSString轉換爲JSON從該字符串中獲取特定數據。這是我的字符串,我嘗試從NSString轉換爲JSON。該字符串是動態獲取到我粘貼在該字符串下面的那個jsonString。如何在iOS中將動態NSString轉換爲JSON格式?

NSString *jsonString = @"{status=success&unmappedstatus=captured&instrument_type=iOS&}"; 
NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 

結果將顯示爲空,我在顯示NSLog的,甚至在UIalert視圖

NSLog(@"-->>JSON_data: %@",json); 

請幫助我的人對這個..

+1

1.你總是得到的數據作爲NSData的第一。避免將其轉換爲NSString,但直接將其傳遞給JSONObjectWithData。 2.該字符串不是JSON。它看起來有點像JSON,但它不是JSON。 3.找出字符串來自哪裏以及它應該是什麼格式。 – gnasher729

+0

這就是根據我的api成功響應字符串來..我需要如何對齊字符串像@maya回答解析.... –

回答

0

它返回nil失敗,如果有解析。使用類似於下面的東西來獲取錯誤描述:

NSError *error; 
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; 
if (error) { 
    NSLog(@"%@", error.localizedDescription); 
} 
6

您應該將字符串存儲爲

NSString *jsonString = @"{\"status\":\"success&amp\",\"unmappedstatus\":\"captured&amp\",\"instrument_type\":\"iOS&amp\"}"; 
    NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; 
    id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; 

希望這將幫助你

+0

謝謝@maya其工作..但該字符串來動態,如何我對齊該字符串像你提到的.. –

0

你正試圖轉換成NSData的什麼字符串並且返回到JSON不是有效的JSON字符串。

因此你得到空的JSON數據。 這是你的字符串應該是什麼樣子:

{ 
"status":"success&amp", 
"unmappedstatus" : "captured&amp" , 
"instrument_type" : "iOS&amp" 
} 

您可以將此鏈接下驗證字符串作爲JSON: http://www.jsoneditoronline.org/

+0

是的兄弟顯示undefined ..這意味着這個字符串是錯誤的一個權利,請告訴如何正確對齊,如果你知道..謝謝.. –

+0

以及它是可行的,你需要找到一些字符串中的邏輯基於您可以將其解析爲此表單的內容。 也許這值得重新考慮,你需要從中得到什麼。 – dirtydanee

+0

我需要對齊字符串作爲任何@maya顯示在字符串中,這對我來說很好, –