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也有可能会引起这样的问题,类似的也可以解决。

  • 相关阅读:
    Effective C++:条款14:在中小企业资源管理copying表现
    Linux在iptables教程基本应用防火墙
    C++内存分配和拷贝构造函数写研究
    Codeforces 479E Riding in a Lift(dp)
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/workhai/p/6688884.html
Copyright © 2011-2022 走看看