2015-10-20 123 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显示在字符串中,这对我来说很好, –