将字典或者数组转换成JSON数据或者字符串
源码:
NSDictionary+JSON.h 与 NSDictionary+JSON.m
// // NSDictionary+JSON.h // Category // // Created by YouXianMing on 15-2-09. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> @interface NSDictionary (JSON) /** * 转换成JSON串字符串(没有可读性) * * @return JSON字符串 */ - (NSString *)toJSONString; /** * 转换成JSON串字符串(有可读性) * * @return JSON字符串 */ - (NSString *)toReadableJSONString; /** * 转换成JSON数据 * * @return JSON数据 */ - (NSData *)toJSONData; @end
// // NSDictionary+JSON.m // Category // // Created by YouXianMing on 15-2-09. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import "NSDictionary+JSON.h" @implementation NSDictionary (JSON) - (NSString *)toJSONString { NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONReadingMutableLeaves | NSJSONReadingAllowFragments error:nil]; if (data == nil) { return nil; } NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return string; } - (NSString *)toReadableJSONString { NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:nil]; if (data == nil) { return nil; } NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return string; } - (NSData *)toJSONData { NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:nil]; return data; } @end
NSArray+JSON.h 与 NSArray+JSON.m
// // NSArray+JSON.h // Category // // Created by YouXianMing on 15-2-09. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> @interface NSArray (JSON) /** * 转换成JSON串字符串(没有可读性) * * @return JSON字符串 */ - (NSString *)toJSONString; /** * 转换成JSON串字符串(有可读性) * * @return JSON字符串 */ - (NSString *)toReadableJSONString; /** * 转换成JSON数据 * * @return JSON数据 */ - (NSData *)toJSONData; @end
// // NSArray+JSON.m // Category // // Created by YouXianMing on 15-2-09. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import "NSArray+JSON.h" @implementation NSArray (JSON) - (NSString *)toJSONString { NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONReadingMutableLeaves | NSJSONReadingAllowFragments error:nil]; if (data == nil) { return nil; } NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return string; } - (NSString *)toReadableJSONString { NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:nil]; if (data == nil) { return nil; } NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return string; } - (NSData *)toJSONData { NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:nil]; return data; } @end
使用: