Json 与 NSDictionary 或 NSArray 互转

字典转 JSON 

- (NSString *) JsonString:(NSDictionary *)dic

{

    

    NSString *dicStr = [self dictionaryToJson:dic];

    dicStr = [dicStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

/* 有些服务端规定 需要去掉空格 ”\“ 换行符等

    dicStr = [dicStr stringByReplacingOccurrencesOfString:@" " withString:@""];

    dicStr = [dicStr stringByReplacingOccurrencesOfString:@"\n" withString:@""];

    dicStr = [dicStr stringByReplacingOccurrencesOfString:@"\\" withString:@""];

    dicStr = [dicStr stringByReplacingOccurrencesOfString:@"\r" withString:@""];

*/

    string = dicStr;

    return string;

}

- (NSString*)dictionaryToJson:(NSDictionary *)dic

{

    

    NSError *parseError = nil;

    

    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrintederror:&parseError];

    

    return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

    

}

JSON 转 字典 或者 数组

NSArray * ArrayWithJsonString(NSString* jsonString)

{

    

    if (jsonString == nil) {

        return nil;

    }

    

    NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];

    NSError *err;

//数组 或者字典

    NSArray *array = [NSJSONSerialization JSONObjectWithData:jsonData

                                                        options:NSJSONReadingMutableContainers

                                                          error:&err];

    if(err) {

        NSLog(@"json解析失败:%@",err);

        return nil;

    }

    return array;

    

}

猜你喜欢

转载自blog.csdn.net/u012960049/article/details/82659920