Ios 将Json转换为NSDictionary
我正在尝试将序列化的Ios 将Json转换为NSDictionary,ios,objective-c,iphone,json,nsdictionary,Ios,Objective C,Iphone,Json,Nsdictionary,我正在尝试将序列化的Json字符串转换为NSDictionary,但没有找到将序列化的Json转换为NSDictionary的任何解决方案 这是我的响应字符串 {"id":2,"parent_id":1,"lft":2,"rght":3,"name":"Audio Engineering","images":[{"id":22,"user_id":2,"name":"iStock_000027023404_Small","url":"https:\/\/pbs.twimg.com\/profil
Json
字符串转换为NSDictionary
,但没有找到将序列化的Json
转换为NSDictionary
的任何解决方案
这是我的响应字符串
{"id":2,"parent_id":1,"lft":2,"rght":3,"name":"Audio Engineering","images":[{"id":22,"user_id":2,"name":"iStock_000027023404_Small","url":"https:\/\/pbs.twimg.com\/profile_images\/97601593\/Picture_3_400x400.png","alt":"iStock_000027023404_Small","description":"","thumbnail":"a:3:{i:0;a:4:{s:4:\"name\";s:25:\"iStock_000027023404_Small\";s:5:\"width\";i:30;s:6:\"height\";i:30;s:3:\"url\";s:58:\"\/uploads\/2016\/09\/thumb\/small\/iStock_000027023404_Small.jpg\";}i:1;a:4:{s:4:\"name\";s:25:\"iStock_000027023404_Small\";s:5:\"width\";i:90;s:6:\"height\";i:90;s:3:\"url\";s:59:\"\/uploads\/2016\/09\/thumb\/medium\/iStock_000027023404_Small.jpg\";}i:2;a:4:{s:4:\"name\";s:25:\"iStock_000027023404_Small\";s:5:\"width\";i:230;s:6:\"height\";i:230;s:3:\"url\";s:67:\"\/uploads\/2016\/09\/thumb\/medium_251x230\/iStock_000027023404_Small.jpg\";}}","created":"2016-09-07T06:24:09+00:00","modified":"2016-09-07T06:24:09+00:00","_joinData":{"id":12,"category_id":2,"image_id":22}}]}
我正在尝试将其转换为NSDictionary
。在这里,key缩略图的值是我无法解析的序列化数据
我试过了
NSData *data = [[self getJsonnResponse] dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:&error];
if (error)
NSLog(@"%@",[error description]);
else
NSLog(@"%@",json);
这让我犯了个错误
Error Domain=nscocaerorrordomain Code=3840“字符291周围的对象格式错误。”UserInfo={NSDebugDescription=字符291周围的对象格式错误。}
字符291表示索引291处的字符。关于JSON响应
你的问题在这里,不是有效的部分
“缩略图”是一个:25:“伊斯托克(IS托克)U 0002702340404小型”s:5:“宽度”5:“宽度”i:30;s:6:“宽度”i:30;s:6:“身高”30;s:6:“高度”i:30;s:6:6:“高度”i:高度”i:30;i:30;s:6:6:“高度”身高”i:i:30;i:30;30;s:30;s:s:s:3:3:3:3:3:“高度”一个网站:3:“高度”i:i:i:30;s:a:3:“url”i:30;s:3:“url”网站:3:“url”网站:s:s:s:s:3:“url”s:s:s:3:“url”s:s:s:s:3”网站网站网站网站:3:3:“url”s:s:3”网站地址:90;s:3:“url”;s:59:\”\/上传\/2016\/09\/thumb\/Middle\/iStock?u Small.jpg\“}i:2;a:4:{s:4:“name”s:25:“iStock?u Small”s:5:“width”i:230;s:6:“height”i:230;s:3:“url”s:67:“\/上传\/2016\/09\/thumb\/Middle:x225130 \/iStock?u Small.jpg\”>
在后端检查一次并询问JSON的清晰格式一次检查JSON对象集是否有效,然后使用以下方法进行解析
NSData *data = [responseString dataUsingEncoding:NSUTF8StringEncoding];
if([NSJSONSerialization isValidJSONObject:data]) {
// here parse your json data
}
这一个是错误的json
formate,我在这里看到的可能是您的web开发人员将日志放入检查array
和dictionary
是否正确生成。
请要求web开发人员解决此问题
您的缩略图
建议的JSON
如下所示:
{
{
"name": "iStock_000027023404_Small";
"width": 30;
"height": 30;
"url": "/uploads/2016/09/thumb/small/iStock_000027023404_Small.jpg";
} {
"name": "iStock_000027023404_Small";
"width": 90;
"height": 90;
"url": "/uploads/2016/09/thumb/medium/iStock_000027023404_Small.jpg";
} {
"name": "iStock_000027023404_Small";
"width": 230;
"height": 230;
"url": "/uploads/2016/09/thumb/medium_251x230/iStock_000027023404_Small.jpg";
}
}
可能会对您有所帮助。使用下面的代码将json转换为字典
n错误*错误
NSData*data=[jsonString DATAUSINGENCODE:NSUTF8StringEncoding]
NSDictionary*ResponseDect
如果(数据!=nil)
{
responseDict=(NSDictionary*)[NSJSONSerialization JSONObjectWithData:data选项:NSJSONReadingMutableContainers错误:&err]
}
return responseDict;可能重复您可以显示您的代码您的缩略图是字符串,它包含JSON字符串嘿,请检查我的更新问题#Dejan Skledar链接中的问题没有提供我问题的解决方案,因为链接中的问题是将JSON或NSDictionary转换为Swift obj,但我的问题是如何转换上述str正在查找词典并获取缩略图内容。