iOS json 数据遇到[__NSCFString count] 错误

今天开发遇到这样的问题

 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString count]: unrecognized selector sent to instance 0x60000024ba30'

错误是这样的,我用一个数组来接收后台的json,而且是NSArray,但是使用for循环出错了

 NSArray * dropArr = [_subBattelDicobjectForKey:@"thingsDrop"];

    

    for (int i =0; i < dropArr.count; i++) {

        NSDictionary * dropDic = dropArr[i];

        NSString * typeStr = [dropDicobjectForKey:@"type"];

        UILabel * thingDropLb = [XDUIViewlabelWithFrame:CGRectMake(20,60 + 24 * i,300, 18)text:typeStr textColor:[UIColorgreenColor] fontSize:14];

        [self.firstBackViewaddSubview:thingDropLb];

    }


}

找了半天,不知哪错了

最后发现 [[_subBattelDic objectForKey:@"thingsDrop"] class]类是一个NSString

为什么会这样呢?

虽然看上去是个数组,但有\存在

解决办法:

NSString * dropStr = [_subBattelDicobjectForKey:@"thingsDrop"];

    

NSData * data = [dropStr dataUsingEncoding:NSUTF8StringEncoding];

NSArray * dropArr = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];


将它反序列化,成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值