Json字符串转换为NSDictionary

本文介绍了如何将JSON格式的字符串转换成Objective-C中的NSDictionary对象,重点在于字符串的预处理和转换代码。

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

首先看字符串

{

    res =     (

        "Teacher Site",

        "http://xxx.com/"

    );

}

我们需要将字符串变换称如下字符串才可以转换成功


{

    "res" :[

        "Homework",

        "http://xxx.com/"

    ]

}

 

具体代码如下:

        NSString *resTmpStr=[resStr stringByReplacingOccurrencesOfString:@"res =     (" withString:@"\"res\":["];
        resTmpStr=[resTmpStr stringByReplacingOccurrencesOfString:@");" withString:@"]"];
        resTmpStr=[resTmpStr stringByReplacingOccurrencesOfString:@"Homework" withString:@"\"Homework\""];
        NSData* data1 = [resTmpStr dataUsingEncoding:NSUTF8StringEncoding];
        __autoreleasing NSError* error = nil;
        NSDictionary *res = [NSJSONSerialization JSONObjectWithData:data1 options:kNilOptions error:&error];
        if (error != nil) {
            NSLog(@"convert error");
            continue;
        };
        
        NSArray *data = [res objectForKey:@"res"];
        if (data != nil) {
            if (result == nil) {
                result = [[NSMutableArray alloc] init];
            }
            Resource *tmp = [[Resource alloc] init];
            tmp.schoolName = data[0];
            tmp.url = data[1];
            if (data.count > 2) {
                tmp.userName = data[2];
                tmp.password = data[3];
            }
            [result addObject:tmp];
        }





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值