Json 与 NSDictionary 或 NSArray 互转

本文介绍如何在Objective-C中实现字典与JSON之间的相互转换,包括将字典转换为JSON字符串的方法及从JSON字符串中解析出字典或数组的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字典转 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;

    

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值