如何在IOS开发中将NSDictionary转换成JSON字符串

  介绍

本篇文章为大家展示了如何在IOS开发中将NSDictionary转换成JSON字符串,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

如下代码:

NSError  *误差;   NSData  * jsonData =, (NSJSONSerialization  dataWithJSONObject: self 选择:NSJSONWritingPrettyPrinted 错误:和错误);   if  (!, jsonData), {   return 才能;@" {}“;   },{else    return 才能;[[NSString  alloc], initWithData: jsonData 编码:NSUTF8StringEncoding);   }

然而,NSDictionary装的数据类型鱼龙混杂,有可能是NSDate, NSNumber, NSValue等objective - c对象,而[NSJSONSerialization dataWithJSONObject:选择:错误:]这个方法是不能解析这些对象的,如果有这些对象,则会导致崩溃,所以我们应该在调用NSJSONSerialization之前加一步,将所有数据处理成NSString,代码如下:

NSError  * error =,零;   NSData  * jsonData =,零;   if 自我(!),{   return 才能;零;   }   NSMutableDictionary  * dict =, (NSMutableDictionary 字典);   [self  block: ^ (id  _Nonnull 关键,,id  _Nonnull  obj,, BOOL  *, _Nonnull 停止),{   NSString 才能;* keyString =,零;   NSString 才能;* valueString =,零;   if 才能;([key  isKindOfClass: [NSString 类]]),{   ,,,keyString =,关键;   }{其他才能   ,,,keyString =, (NSString  stringWithFormat: @" % @",例子);   ,,}      if 才能;([obj  isKindOfClass: [NSString 类]]),{   ,,,valueString =, obj;   }{其他才能   ,,,valueString =, (NSString  stringWithFormat: @" % @", obj);   ,,}      (才能dict  setObject: valueString  forKey: keyString);   });   时间=jsonData  [NSJSONSerialization  dataWithJSONObject: dict 选择:NSJSONWritingPrettyPrinted 错误:和错误);   if  ([jsonData 长度),==,0,| |,error  !=, nil), {   return 才能;零;   }   NSString  * jsonString =, [[NSString  alloc], initWithData: jsonData 编码:NSUTF8StringEncoding);   return  jsonString;

上述内容就是如何在IOS开发中将NSDictionary转换成JSON字符串,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

如何在IOS开发中将NSDictionary转换成JSON字符串