计算机iOS开发首页投稿(暂停使用,暂停投稿)

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方面的代码可以关注我的简书,我会持续更新,大家一起探讨探讨
在此谢谢大家阅读😊

上一篇下一篇

猜你喜欢

热点阅读