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

我遇到的错误是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就可以了

LitJson解析遇到的坑的更多相关文章

  1. C#使用LitJson解析JSON(转)

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - Decembe ...

  2. 使用 LitJson 解析Json并读取数据

    开发中经常要获取各种数据,而现今比较常见的数据便是Json数据格式,网上也有很多解析Json数据的方法,但是 作为小白的我,对于那些个高大上的方法理解不够,这不找了许久发了这些一个 LitJson 库 ...

  3. nodejs模块xml2js解析xml的坑

    在一个项目中,用到nodejs模块xml2js解析xml,xml的数据如下: <xml> <MsgId>6197906553041859764</MsgId> &l ...

  4. 在Unity中使用LitJson解析json文件

    LitJson 这个库需要找资源,找到LitJson.dll后将它放在Assets文件夹下,在脚本中使用using引入即可 测试代码 json文件: {"Archice":[{&q ...

  5. C#使用LitJson解析Json数据

    //接受MQ服务器返回的值 private void jieshou(string zhiling, string can1, string can2, string can3, string can ...

  6. 【Java】Jackson解析xml的坑

    为了获取xml数据,在spring mvc中针对 @ResponseBody配置了jackson. 刚用的时候内心是狂喜的,终于不用自己解析了----  but----------还是有坑的-- 坑一 ...

  7. C#使用LitJson对Json数据解析

    JSON 介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - ...

  8. 踩了个DNS解析的坑,但我还是没想通

    hello大家好,我是小楼. 最近踩了个DNS解析的小坑,虽然问题解决了,但排查过程比较曲折,最后还是有一点没有想通,整个过程分享给大家. 背景 最近负责的服务要置换机器.置换机器可能很多小伙伴不知道 ...

  9. 记一个JAVA关于日期的坑

    JAVA解析日期格式代码,之前一直写成:“yyyy-MM-dd hh:mm”,比如"2016-01-18 11:00"."2016-01-18 15:00"都可 ...

随机推荐

  1. android 混淆配置

    proguard 原理Java代码编译成二进制class 文件,这个class 文件也可以反编译成源代码 ,除了注释外,原来的code 基本都可以看到.为了防止重要code 被泄露,我们往往需要混淆( ...

  2. IT人员----怎么把电脑窗口设置成淡绿色

    大夫建议电脑屏幕不要用白色,因为白色对眼睛的刺激是最大的.像我们这样整天对着电脑,也应该注意一下.其实,只要稍微设置一下,就能让你电脑上的窗口从白花花的颜色变成淡淡的绿色. 设置方法:打开控制面板中的 ...

  3. mvc+ef5+easyui实例(1)

    mvc+ef5+easyui 组织机构和员工管理实例 环境:vs2010+sql2008 框架搭建 1,新建mvc4 web应用 2. 3. 系统自动生成的的controllers,和views文件中 ...

  4. SQL 语句中按照in语句原有的顺序进行排序

    Access: ,,) order by instr(',1,5,3,',','&;id&;',') MSSQL: ,,) )))+',',',1,5,3,') MySQL: ,,) ...

  5. 20151210--MVC

    package com.hanqi; import java.io.IOException; import java.sql.*; import java.text.SimpleDateFormat; ...

  6. OpenGL绘制简单的时钟(首发测试)

    #include <windows.h> #include <GL/glut.h>//本来OpenGL程序一般还要包含<GL/gl.h>和<GL/glu.h& ...

  7. Linux系统管理员不可不知的命令:sudo

    对Linux系统管理员或高级用户而言,sudo是必不可少的最重要的命令之一.当我们想要运行重要任务时,sudo提供了安全的提升权限.请耐心读本文,看看sudo能为你做些什么. sudo是个统管一切的命 ...

  8. QF——关于iOS的强引用,弱引用及strong,retain,copy,weak,assignd的关系

    强引用和弱引用: 我们已经知道OC中的内存管理是通过“引用计数器”来实现的.一个对象的生命周期取决于它是否还被其他对象引用(是否retainCount=0).但在有些情况下,我们并不希望对象的销毁时间 ...

  9. java/php/c#版rsa签名以及验签实现

    本文为转载,请转载请注明地址: 原文地址为        http://xw-z1985.iteye.com/blog/1837376 在开放平台领域,需要给isv提供sdk,签名是Sdk中需要提供的 ...

  10. Moutain Tai notes

    rest 40shaxian 18 drumsticks  13零食 11.5+21车费5门票62大衣10面14 > 194.5 notes :::: 岗位职责:1.基于Drupal系统的产品功 ...