zoukankan      html  css  js  c++  java
  • LitJson解析遇到的坑

    今天在些项目的时候,遇到一个坑,现在跟大家分享一下

    我遇到的错误是MissingMethodException: Method not found: 'Default constructor not found...ctor() of bagItemJson'. 大概的意思就是说没有找到什么方法

    下面我们来看看为什么会遇到这个问题

    首先先写一个类

    public class BagItem   //一个类,用来表示背包里面的装备

    {

         public string name;

         public int level;

         public BagItem(string name, level)

         {

              this.name = name;

              this.level = level;

          }

    }

    我们可能知道,LitJson里面有一个方法可以直接把对象转化为Json字符串,当然也有一个方法可以把对象转化成的字符串在转化为对象, 例如

       BagItem bi =  JsonMapper.ToObject<BagItem>(data.ToString());  其中 data是JsonData类型的

    这样就可以吧Json字符串转化为对象了

    但这样看的话,是完全正确的,没有问题的,但是在运行的时候,就出现了上面的错误,当时我问了很多人,后来对比发现,有的人是可以这样转化成功的,他们写的类和我的唯一不一样的地方就是构造函数,我是用构造函数赋值,初始化,但是他们是先实例化,然后在一个一个给每一个属性赋值,这个就是问题的关键了,因为我自己写了一个构造函数,把默认的构造函数给私有化了,这样的话在上面的转化为对象的时候,就找不到构造函数了,所以就转化不了实例了,这时候就会出现找不到该方法,实际上是找不到构造函数了

    另外,值得一说的是,在转化为对象的方法里面,应该是先实例化出来一个对象,然后在给每个对象赋值,这时候的实例化是用默认构造函数实例化的,并不是用自己的构造函数实例化的,所以上面的错误只需要把默认构造函数给加上,写成Public就可以了

  • 相关阅读:
    Nginx 静态站点配置不对导致301跳转的坑
    Prometheus(一):Web服务环境监控
    10BASE-T
    计算机网络之物理层:7、物理层设备(中继器、集线器)
    广域网
    转载------对比网络模拟器软件——Cisco Packet Tracer、华为eNSP、H3C Cloud Lab
    二、Python的使用
    MobSF移动安全扫描平台本地化部署与简单汉化
    MobSF移动安全扫描平台环境搭建与试用
    BSTestRunner增加历史执行记录展示和重试功能
  • 原文地址:https://www.cnblogs.com/ZhiXing-Blogs/p/4914459.html
Copyright © 2011-2022 走看看