iOS json、对象转换

作者: 帅只是表象 | 来源:发表于2016-04-15 13:30 被阅读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方面的代码可以关注我的简书,我会持续更新,大家一起探讨探讨
    在此谢谢大家阅读😊

    相关文章

      网友评论

      本文标题:iOS json、对象转换

      本文链接:https://www.haomeiwen.com/subject/egrnlttx.html