口袋优选

JsonTool.m 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. //
  2. // JsonTool.m
  3. // YouHuiProject
  4. //
  5. // Created by 小花 on 2018/11/5.
  6. // Copyright © 2018年 kuxuan. All rights reserved.
  7. //
  8. #import "JsonTool.h"
  9. @implementation JsonTool
  10. /**
  11. 字典转json字符串
  12. */
  13. + (NSString *)convertToJsonData:(NSDictionary *)dict
  14. {
  15. NSError *error;
  16. NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&error];
  17. NSString *jsonString;
  18. if (!jsonData) {
  19. NSLog(@"%@",error);
  20. }else{
  21. jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
  22. }
  23. NSMutableString *mutStr = [NSMutableString stringWithString:jsonString];
  24. NSRange range = {0,jsonString.length};
  25. //去掉字符串中的空格
  26. [mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range];
  27. NSRange range2 = {0,mutStr.length};
  28. //去掉字符串中的换行符
  29. [mutStr replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:range2];
  30. return mutStr;
  31. }
  32. /**
  33. JSON字符串转化为字典
  34. */
  35. + (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString
  36. {
  37. if (jsonString == nil) {
  38. return nil;
  39. }
  40. NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
  41. NSError *err;
  42. NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
  43. options:NSJSONReadingMutableContainers
  44. error:&err];
  45. if(err)
  46. {
  47. NSLog(@"json解析失败:%@",err);
  48. return nil;
  49. }
  50. return dic;
  51. }
  52. + (NSArray *)stringToJSON:(NSString *)jsonStr {
  53. if (jsonStr) {
  54. id tmp = [NSJSONSerialization JSONObjectWithData:[jsonStr dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingAllowFragments | NSJSONReadingMutableLeaves | NSJSONReadingMutableContainers error:nil];
  55. if (tmp) {
  56. if([tmp isKindOfClass:[NSArray class]]) {
  57. return tmp;
  58. }else if([tmp isKindOfClass:[NSString class]]|| [tmp isKindOfClass:[NSDictionary class]]){
  59. return [NSArray arrayWithObject:tmp];
  60. } else {
  61. return nil;
  62. }
  63. }else {
  64. return nil;
  65. }
  66. } else {
  67. return nil;
  68. }
  69. }
  70. /**
  71. 数组转json字符串
  72. */
  73. + (NSString *)arrayToJSONString:(NSArray *)arr {
  74. if (!arr) {
  75. return @"";
  76. }
  77. NSData *data = [NSJSONSerialization dataWithJSONObject:arr
  78. options:NSJSONReadingMutableLeaves | NSJSONReadingAllowFragments
  79. error:nil];
  80. if (data == nil) {
  81. return nil;
  82. }
  83. NSString *string = [[NSString alloc] initWithData:data
  84. encoding:NSUTF8StringEncoding];
  85. return string;
  86. }
  87. @end