使用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);
时间: 2024-10-08 16:59:12

使用JsonKit解析中文时注意事项的相关文章

jsonkit 解析nsarray 时候 报错

jsonkit 解析nsarray 时候 报错 Assertion failure in -[TXJKArray count], /Users/mqq/hudson/1740/src/TencentOpenApi_IOS/Common/Util/JSONKit.m:738 解决办法: Had the same issue, I was trying to set the output straight to a dictionary I had created. myDictionary = [

使用POI解析Excel时,出现org.xml.sax.SAXParseException: duplicate attribute 'o:relid'的解决办法

1.使用org.apache.poi解析excle,.xlsx类型文件InputStream is = new FileInputStream(strFileName);XSSFWorkbook wb = new XSSFWorkbook(is);出现异常如下: org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetExceptionat org.apache.poi.xssf.usermodel.XSSFFactor

数据库查询时,查询数字或者英文可以,查询中文时出错

数据库查询时,查询数字或者英文可以,查询中文时出错:提示????????????:select * from szdbdb_userdata where        truename='????' Illegal mix of collations (gb2312_chinese_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '='12670 解决办法:一般网上会说是编码问题,在配置文件my.ini修改数据库编码.当把

编写makefile时注意事项

CFLAGS=-Wall -g  这个-Wall开头字母一定要大写.这种小错误会导致不能编译! 其次就是在一个目录下面的应该是文件 ,而不能在继续用文件去进行编写代码,因为make寻找当前目录下的makefile,makefile里面用到的文件而不是目录里的代码,如果需要也要通过-l(l链接link)一下.所以再一个目录下,编写文件尽量用vi命令,而不是mkdir.这两个区别要搞清楚.文件与目录还是有区别的. linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具

JavaScript表单验证,输入中文时字符长度为2

获取输入框中的字符长度进行表单验证,当输入英文时字符长度就是1,当输入中文时字符长度为2. 字符数为4~16位, 上图: 一个中文抵两英文. 上代码 1 btn.addEventListener('click',ov,false); 2 3 function ov(){ 4 var inputValue = text.value.trim(); 5 //去掉最前最后的空格 6 if (countLength(inputValue) < 4 || countLength(inputValue) >

elasticsearch 在查询中文时需要分字

作为新人的我,在使用的elasticsearch 时,常遇到一些问题,而今天遇到的问题就是:在使用elasticsearch 搜索中文时,无返回结果? 问题描述如下: 1.在kibana 上查看日志的内容是可以用中文进行搜索的,如下图所示:  然而,在我的代码里用中文进行查询时,却只会返回空,查询时使用的代码如下: /** * 执行搜索 * * @param queryBuilder * @param indexname * @param type * @return */ public voi

mysql 插入中文时出现ERROR 1366 (HY000): Incorrect string value: &#39;\xC0\xEE\xCB\xC4&#39; for column &#39;usern ame&#39; at row 1

1 环境: MySQL Server 6.0  命令行工具 2 问题 :  插入中文字符数据出现如下错误: ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'usern ame' at row 1 3 当时环境: mysql> insert into user(id , username , birthday, sex, address) values('2' , ' 李四' , '1980 12

Jsoup解析html时对相对地址的处理

前一段时间运用htmlparser时,获取地址是时直接将html页面的相对地址转换成绝对地址,然而今天在运用jsoup,开始的时候发现只能得到相对地址,最后在网上寻找到了解决办法. htmlparser获得URLs: //参数说明:parser为模拟浏览器对URL地址操 dataPath:所解析的URL存放路径 dataName:存放URL的数据库名 public static void extractURL(final Parser parser, final String dataPath,

php foreach 使用 &#39;&amp;&#39; 时注意事项 --sangit

当第一个foreach使用引用关系时,第二次进行循环的时候就会出现覆盖的情况 所以在每一次使用完后需要把值进行unset,断开引用,结果就恢复正常了 php foreach 使用 '&' 时注意事项 --sangit