介绍
本篇文章为大家展示了如何在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字符串,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。