// // JsonTool.m // YouHuiProject // // Created by 小花 on 2018/11/5. // Copyright © 2018年 kuxuan. All rights reserved. // #import "JsonTool.h" @implementation JsonTool /** 字典转json字符串 */ + (NSString *)convertToJsonData:(NSDictionary *)dict { NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error]; NSString *jsonString; if (!jsonData) { NSLog(@"%@",error); }else{ jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding]; } NSMutableString *mutStr = [NSMutableString stringWithString:jsonString]; NSRange range = {0,jsonString.length}; //去掉字符串中的空格 [mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range]; NSRange range2 = {0,mutStr.length}; //去掉字符串中的换行符 [mutStr replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:range2]; return mutStr; } /** JSON字符串转化为字典 */ + (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString { if (jsonString == nil) { return nil; } NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; NSError *err; NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&err]; if(err) { NSLog(@"json解析失败:%@",err); return nil; } return dic; } + (NSArray *)stringToJSON:(NSString *)jsonStr { if (jsonStr) { id tmp = [NSJSONSerialization JSONObjectWithData:[jsonStr dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingAllowFragments | NSJSONReadingMutableLeaves | NSJSONReadingMutableContainers error:nil]; if (tmp) { if([tmp isKindOfClass:[NSArray class]]) { return tmp; }else if([tmp isKindOfClass:[NSString class]]|| [tmp isKindOfClass:[NSDictionary class]]){ return [NSArray arrayWithObject:tmp]; } else { return nil; } }else { return nil; } } else { return nil; } } /** 数组转json字符串 */ + (NSString *)arrayToJSONString:(NSArray *)arr { if (!arr) { return @""; } NSData *data = [NSJSONSerialization dataWithJSONObject:arr options:NSJSONReadingMutableLeaves | NSJSONReadingAllowFragments error:nil]; if (data == nil) { return nil; } NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return string; } @end