1. 程式人生 > >iOS NSDictionary轉化為Json

iOS NSDictionary轉化為Json

div json數據 logs str tor datawit Coding font tty

NSDictionary (JSON).h文件

#import <Foundation/Foundation.h>

@interface NSDictionary (JSON)

/**
 *  轉換成JSON串字符串(沒有可讀性)
 *
 *  @return JSON字符串
 */
- (NSString *)toJSONString;

/**
 *  轉換成JSON串字符串(有可讀性)
 *
 *  @return JSON字符串
 */
- (NSString *)toReadableJSONString;

/**
 *  轉換成JSON數據
 *
 *  @return JSON數據
 */
- (NSData *)toJSONData;

@end

  

NSDictionary (JSON).m文件

#import "NSDictionary+JSON.h"

@implementation NSDictionary (JSON)

- (NSString *)toJSONString {
    NSData *data = [NSJSONSerialization dataWithJSONObject:self
                                                   options:NSJSONReadingMutableLeaves | NSJSONReadingAllowFragments
                                                     error:nil];
    
    if (data == nil) {
        return nil;
    }
    
    NSString *string = [[NSString alloc] initWithData:data
                                             encoding:NSUTF8StringEncoding];
    return string;
}

- (NSString *)toReadableJSONString {
    NSData *data = [NSJSONSerialization dataWithJSONObject:self
                                                   options:NSJSONWritingPrettyPrinted
                                                     error:nil];
    
    if (data == nil) {
        return nil;
    }
    
    NSString *string = [[NSString alloc] initWithData:data
                                             encoding:NSUTF8StringEncoding];
    return string;
}

- (NSData *)toJSONData {
    NSData *data = [NSJSONSerialization dataWithJSONObject:self
                                                   options:NSJSONWritingPrettyPrinted
                                                     error:nil];
    
    return data;
}

@end

iOS NSDictionary轉化為Json