JSON相关的,数据彼此间的转化进行了简单地封装,源码如下,支持arc与非arc

来源:互联网 发布:中班美工区域材料图片 编辑:程序博客网 时间:2024/05/19 14:55

YXJSON.h + YXJSON.m

复制代码
////  YXJSON.h////  JSONString 与 JSONData 与 字典或者数组互相转化////  Copyright (c) 2014年 YouXian. All rights reserved.//#import <Foundation/Foundation.h>@interface YXJSON : NSObject/** 将字典或者数组转换为JSON格式字符串  @return JSON格式字符串 */+ (NSString *)JSONStringWithDictionaryOrArray:(id)dictionaryOrArray;/** 将字典或者数组转换为JSON的Data  @return JSON的Data */+ (NSData *)JSONSDataWithDictionaryOrArray:(id)dictionaryOrArray;/** 将JSON格式字符串转换为字典或者数组  @return 字典或者数组 */+ (id)dictionaryOrArrayWithJSONSString:(NSString *)jsonString;/** 将JSON的Data转换为字典或者数组  @return 字典或者数组 */+ (id)dictionaryOrArrayWithJSONSData:(NSData *)jsonData;@end
复制代码
复制代码
////  YXJSON.m////  JSONString 与 JSONData 与 字典或者数组互相转化////  Copyright (c) 2014年 YouXian. All rights reserved.//#if __has_feature(objc_arc)#define YX_release(obj)#define YX_autorelease(obj)#else#define YX_release(obj)      [obj release]#define YX_autorelease(obj)  [obj autorelease]#endif#import "YXJSON.h"@implementation YXJSON+ (NSString *)JSONStringWithDictionaryOrArray:(id)dictionaryOrArray{    if (dictionaryOrArray == nil)    {        return nil;    }        //options: Pass 0 if you don't care about the readability of the generated string    NSData *data = [NSJSONSerialization dataWithJSONObject:dictionaryOrArray                                                   options:NSJSONWritingPrettyPrinted                                                     error:nil];        if (data == nil)    {        return nil;    }        NSString *string = [[NSString alloc] initWithData:data                                             encoding:NSUTF8StringEncoding];    YX_autorelease(string);        return string;}+ (NSData *)JSONSDataWithDictionaryOrArray:(id)dictionaryOrArray{    if (dictionaryOrArray == nil)    {        return nil;    }        //options: Pass 0 if you don't care about the readability of the generated string    NSData *data = [NSJSONSerialization dataWithJSONObject:dictionaryOrArray                                                   options:NSJSONWritingPrettyPrinted                                                     error:nil];    return data;}+ (id)dictionaryOrArrayWithJSONSString:(NSString *)jsonString{    if (jsonString == nil)    {        return nil;    }        NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];        return [NSJSONSerialization JSONObjectWithData:jsonData                                           options:NSJSONReadingMutableLeaves|| NSJSONReadingMutableContainers                                             error:nil];}+ (id)dictionaryOrArrayWithJSONSData:(NSData *)jsonData{    if (jsonData == nil)    {        return nil;    }        return [NSJSONSerialization JSONObjectWithData:jsonData                                           options:NSJSONReadingMutableLeaves|| NSJSONReadingMutableContainers                                             error:nil];}@end
复制代码
0 0