iOS json、对象转换

我们可以写一个分类来方便我们在项目中的使用。

头文件

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,762评论 25 708
  • 在所有的迫不得已中,还是最喜欢那个青春洋溢的自己。 有点期待的时候 你是一棵树的样子 阳光有点暖 客气而分散 有点...
    水槛阅读 206评论 0 6
  • 再见到他,初恋那个男孩,变得胖胖的,我不喜欢他了。 朋友发来这句话,我暗喜:苍天有眼,终于不在这棵树上纠缠了。不明...
    once从前慢阅读 374评论 3 4
  • 7 梅米抬起她的手表。 两人从入场到现在,已经度过了二十四小时。 心思是不必挑明的。他们都想按下用于主动返回的三个...
    XYG简书阅读 338评论 0 0
  • 昨天越来越多,明天越来越少。走过的路长了,遇见的人多了,不经意间发现,人生最曼妙的风景是内心的淡定与从容,头脑的睿...
    阿达0615阅读 186评论 0 0

友情链接更多精彩内容