在日常的开发中,程序猿会遇到各种奇葩的问题,比如:
如何把一个字典格式的字符串转换成字典
服务器返回的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];