zoukankan      html  css  js  c++  java
  • 关于litJson的System.InvalidCastException

    最近在做一个Unity3D的项目,用到了litJson库, 它比JavaScript里的JSON解析更加严格, 有时候解析数据的时候会出现类型不对.

    比如说 {"data":12} 中的12没有用引号包起来, 就不能把它当作字符串来读取了, 只能当作int来读取.

    另外如果碰到了 {"data":12.00}, 不能想当然地当作float来读取, 而是要当作double来读取的.

    对于从来没有用过litJson的人来说有个最保险的方法, 如果碰到了解析报错说 "System.InvalidCastException"  指定的类型转换无效, 可以把字段的类型输出来,然后再解析.

    代码如下:

    string data = "{'val':1.00}";
    JsonData jd = JsonMapper.ToObject(data);
    JsonData val = jd["va"];
    Debug.log(val.GetJsonType());//输出发现是double类型
    float f = (float)(double)val;
  • 相关阅读:
    struts 提交问题
    struts spring整合出错
    hibernate.cfg.xml
    myeclipse copy问题
    myeclipse copy时出的问题
    mysql sql 语句
    Spring_Hibernate
    WebView
    Notification
    Handler(消息机制)
  • 原文地址:https://www.cnblogs.com/canono/p/4136833.html
Copyright © 2011-2022 走看看