Json解析中遇到的问题(__NSCFNumber和__NSCFString)

来源:互联网 发布:北邮图书馆软件 编辑:程序博客网 时间:2024/05/29 05:53
今天遇见一个问题:json解析中原先预定是String的数据变成了number,结果在赋值调用中出现崩溃。

问题很简单,Java后台将一个纯数字的字符串 当成数字返回来了,倒置客户端解析错误。

解决办法:1,可以修改数据。(可以在纯数字的字符串后边加一个空格,即可识别成字符串)

                    2,修改后台,将他识别成字符串返回。(本人对Java不了解,只是建议。一下代码会将数字全部转化为字符串)

<bean id="simpleConverter" class="org.codehaus.jettison.mapped.SimpleConverter"/><bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.JSONProvider">    <property name="typeConverter" ref="simpleConverter"/></bean>


 

                    3,修改客户端,在使用的时候加类型判断。例如:

if ([obj isKindOfClass:[NSNumber class]]) {      //}   

或者:

if ([[obj className] isEqualToString:@"__NSCFString"] || [[obj className] isEqualToString:@"__NSCFNumber"]) {       //类型转换      }


 

原创粉丝点击