使用JsonKit解析中文时注意事项

使用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);


你可能感兴趣的:(ios,中文,null,空,JSONKit)