zoukankan      html  css  js  c++  java
  • [游戏开发-学习笔记]菜鸟慢慢飞(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也有可能会引起这样的问题,类似的也可以解决。

  • 相关阅读:
    java输出菱型
    java----内部类
    java中的多重继承
    java算法--三个数字比较大小
    Python基础(2)
    Python基础(1)
    Redis主从同步
    一种高效的进程间的通信方式
    自旋锁和互斥锁的区别
    Linux读写锁的使用
  • 原文地址:https://www.cnblogs.com/workhai/p/6688884.html
Copyright © 2011-2022 走看看