iOS开发精华专题iOS技术专题iOS 开发每天分享优质文章

iOS开发把格式化的JSON格式的字符串转换成字典、字典转jso

2016-04-13  本文已影响402人  Courage_SC

JsonStrToDic.h

#import <Foundation/Foundation.h>

@interface JsonStrToDic : NSObject
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString;
+ (NSString*)dictionaryToJson:(NSDictionary *)dic;
@end

JsonStrToDic.m

#import "JsonStrToDic.h"

@implementation JsonStrToDic
/*!
 
 * @brief 把格式化的JSON格式的字符串转换成字典
 
 * @param jsonString JSON格式的字符串
 
 * @return 返回字典
 
 */

//json格式字符串转字典:

+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {
    
    if (jsonString == nil) {
        
        return nil;
        
    }
    
    NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
    
    NSError *err;
    
    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
                         
                                                        options:NSJSONReadingMutableContainers
                         
                                                          error:&err];
    
    if(err) {
        
        NSLog(@"json解析失败:%@",err);
        
        return nil;
        
    }
    
    return dic;
    
}
、、、
//字典转json格式字符串:
、、、
+ (NSString*)dictionaryToJson:(NSDictionary *)dic

{
    
    NSError *parseError = nil;
    
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
    
    return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
    
}

//NSJSONWritingPrettyPrinted  是有换位符的。

//如果NSJSONWritingPrettyPrinted 是nil 的话 返回的数据是没有 换位符的 @end
上一篇下一篇

猜你喜欢

热点阅读