NSDictionary+JSON - iOS

Posted survivors

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSDictionary+JSON - iOS相关的知识,希望对你有一定的参考价值。

日常开发中常用的一个相互转换的方法;

直接创建对应的类,引用如下方法即可实现;

具体 code 如下:

声明:

#import <Foundation/Foundation.h>
 
@interface NSDictionary (JSON)
 
- (NSString *)jsonString;
 
- (void)writeToJsonFile:(NSString *)path atomically:(BOOL)atomically;
 
+ (NSDictionary *)dictionaryWithContentsOfJsonFile:(NSString *)path;
 
 
 
@end

实现:

#import "NSDictionary+JSON.h"
#import "NSString+JSON.h"
 
@implementation NSDictionary (JSON)
 
- (NSString *)jsonString {
    NSError *error = nil;
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self
                                                       options:0
                                                         error:&error];
    if (error)
        return nil;
    NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    return jsonString;
}
 
- (void)writeToJsonFile:(NSString *)path atomically:(BOOL)atomically {
    NSData *content = [[self jsonString] dataUsingEncoding:NSUTF8StringEncoding];
    [content writeToFile:path atomically:atomically];
}
 
+ (NSDictionary *)dictionaryWithContentsOfJsonFile:(NSString *)path {
    NSError *error = nil;
    NSString *content = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
    if (error) {
        return nil;
    }
    id result = [content jsonObject];
    if (![result isKindOfClass:[self class]]) {
        return nil;
    }
    return result;
}
 
 
 
@end

  

注:实现类中需要引入的类在如下飞机票中,具体详情请跳转查看.

NSString+JSON - ios 机票如下: NSString+JSON - iOS

 

以上便是此次分享的内容,希望能对大家有所帮助!

 

以上是关于NSDictionary+JSON - iOS的主要内容,如果未能解决你的问题,请参考以下文章

iOS NSDictionary转化为Json

NSDictionary+JSON - iOS

无法创建 Plist 文件。 iOS+NSDictionary+JSON

ios nsdictionary 创建 json

iOS NSDictionary 转Json 去掉换行去掉空格

IOS开发之----NSDictionary,JSON和XML互相转换