[游戏开发-学习笔记]菜鸟慢慢飞(12)- Unity3D中LitJson 解析遇到的问题
1.数据格式问题
问题:服务器那边设置的HP的类型是float,如果传给客户端的是1000,没有小数点解析的时候LitJson会优先按照int去解析。但是呢,服务器回头还有可能传回的是1000.50这样带小数点的。我们写死解析对应的数据类型,就会报错。
我的解决办法是:
public class LitJsonHelper { /// <summary> /// 转换成int,不确定jdata的值是float还是int /// </summary> /// <returns>The int.</returns> /// <param name="jdata">Jdata.</param> public static int ToInt(JsonData jdata) { if (jdata.GetJsonType()==JsonType.Double) { return (int)(double)jdata; } else if (jdata.GetJsonType()==JsonType.Float) { return (int)(float)jdata; } else { return (int)jdata; } }
类似的ulong,double也有可能会引起这样的问题,类似的也可以解决。