定義一個 NSArray 的分類
NSArray (JSON).h文件
#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文件
#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
