iOS json、对象转换
2016-04-15 本文已影响3814人
帅只是表象
我们可以写一个分类来方便我们在项目中的使用。
头文件
#import <Foundation/Foundation.h>
@interface NSObject (JSONTool)
/**
* 对象转换为JSONData
*
* @return NSData
*/
- (nullable NSData *)JSONData;
/**
* 对象转换为JSONString
*
* @return NSString
*/
- (nullable NSString *)JSONString;
/**
* 将JSONString转换为对象
*
* @param jsonString json字符串
*
* @return 对象
*/
+ (nullable id)objectFromJSONString:(nullable NSString *)jsonString;
/**
* 将JSONString转换为对象
*
* @param jsonString json字符串
*
* @return 对象
*/
+ (nullable id)objectFromJSONData:(nullable NSData *)jsonData;
@end
实现文件
#import "NSObject+JSONTool.h"
@implementation NSObject (JSONTool)
- (NSData *)JSONData{
return [NSJSONSerialization dataWithJSONObject:self options:0 error:nil];
}
- (NSString *)JSONString{
if (![NSJSONSerialization isValidJSONObject:self]) {
return @"";
}
return [[NSString alloc] initWithData:[NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:nil] encoding:NSUTF8StringEncoding];
}
+ (id)objectFromJSONString:(NSString *)jsonString{
return [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
}
+ (nullable id)objectFromJSONData:(nullable NSData *)jsonData{
return [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];
}
@end
这样我们就可以很方便的使用转换了,是不是很简单呢?
注:相关内容我会继续更新。如果想找一些iOS方面的代码可以关注我的简书,我会持续更新,大家一起探讨探讨
在此谢谢大家阅读😊