在日常的开发中,程序猿会遇到各种奇葩的问题,比如:
如何把一个字典格式的字符串转换成字典
服务器返回的JSON数据:
{
desc = "{\"soeNote\":\"AB\U7ebf\U7535\U538b\U9ad8\U8d85\U6807\Uff0c\U5f53\U524d\U503c\Uff1a390.78V\Uff0c\U5927\U4e8e\U4e0a\U4e0a\U9650\U503c\Uff1a350.0V\",\"name\":\"AB\U7ebf\U7535\U538b\"}";
equName = "";
person = "4011\U5f00\U5173-C\U680b\U7535\U68af\U53e3\U7535\U623f";
time = "2017-08-03 17:13:29";
type = 1;
}
1,首先服务器返回如下这样格式的数据给我们,这个我们可以和后台的程序猿哥哥商量改一下是否能返回正常的数据格式类型
desc = "{\"soeNote\":\"AB\U7ebf\U7535\U538b\U9ad8\U8d85\U6807\Uff0c\U5f53\U524d\U503c\Uff1a390.78V\Uff0c\U5927\U4e8e\U4e0a\U4e0a\U9650\U503c\Uff1a350.0V\",\"name\":\"AB\U7ebf\U7535\U538b\"}";
2,假如的程序猿哥哥不是太友好,不想改,那就我们改呗,先转成data 然后用系统自带的JSON解析,解析成字典格式
NSString *str1 = [dic objectForKey:@"desc"];
str1解析出来的数据:{"soeNote":"电压高超标,当前值:390.78V,大于上上限值:350.0V","name":"电压"}NSData *jsonData = [str1 dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *responseJSON = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableLeaves error:nil];
本文介绍了一种特殊情况下的JSON数据处理方法,即当服务器返回的数据格式不符合标准JSON格式时,如何将其转换为可读的字典格式。文章通过具体实例展示了如何使用Objective-C语言进行数据解析。
425

被折叠的 条评论
为什么被折叠?



