使用JsonKit解析中文时如果返回值为空,可能使用因为计算长度时不准确造成的。
解决方法:
NSString *pricePath = [[NSBundle mainBundle] pathForResource:@"CarSelectPrice" ofType:@"json"]; NSString *priceStr = [[NSString alloc] initWithContentsOfFile:pricePath encoding:NSUTF8StringEncoding error:nil]; NSLog(@"%@",priceStr); //计算包括中文字符串的长度,如果返回值为空。极有可能是这个值不正确造成的。 NSInteger length = [[priceStr dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES] length]; _allPriceArr = [NSMutableArray array]; _allCarTypeArr = [NSMutableArray array]; NSArray *tmpJson = [jsonDecoder objectWithUTF8String:(const unsigned char *)[priceStr UTF8String] length:(unsigned int)length]; NSLog(@"priceArr = %@",_allPriceArr);
时间: 2024-10-08 16:59:12