/// <summary>
/// 将Json数据 填充到 实例类
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="J">json数据</param>
/// <param name="M">实例类型引用</param>
public void toInstance<T>(JObject J, ref T M)
{
var t = M.GetType();
foreach (var pi in M.GetType().GetProperties())
{
var V = J[pi.Name];
if (V == null) continue;
switch (pi.PropertyType.Name)
{
case "Boolean": pi.SetValue(M, V.Value<bool>(), null); break;
case "String": pi.SetValue(M, V.Value<string>(), null); break;
case "Decimal": pi.SetValue(M, V.Value<Decimal>(), null); break;
case "DateTime": pi.SetValue(M, V.Value<DateTime>(), null); break;
case "Int16": pi.SetValue(M, V.Value<Int16>(), null); break;
case "Int32": pi.SetValue(M, V.Value<int>(), null); break;
case "Int64": pi.SetValue(M, V.Value<Int64>(), null); break;
case "Single": pi.SetValue(M, V.Value<Single>(), null); break;
case "String[]": pi.SetValue(M, V.Select(s => s.Value<string>()).ToArray(), null); break;
case "Int32[]": pi.SetValue(M, V.Select(s => s.Value<int>()).ToArray(), null); break;
}
}
}

var J = JsonConvert.DeserializeObject(textBox1.Text) as JObject;

var M = new schemeModel();

toInstance(J, ref M);

将Json数据 填充到 实例类 的函数的更多相关文章

  1. C#的百度地图开发(二)转换JSON数据为相应的类

    原文:C#的百度地图开发(二)转换JSON数据为相应的类 在<C#的百度地图开发(一)发起HTTP请求>一文中我们向百度提供的API的URL发起请求,并得到了返回的结果,结果是一串JSON ...

  2. MVC客户端使用 Mustache.js把json数据填充到模版中

    使用Mustache的好处是:可以把一些反复用到的html部分定义成Mustache模版,以便多次使用.使用Mustache的大致步骤是: →从后台拿到json数据 →获取前台页面预先定义好Musta ...

  3. 结合Bootbox将后台JSON数据填充Form表单

    本文介绍了如何结合Bootbox将后台JSON数据填充到Form表单中,同时也介绍了一些需要使用的知识的学习途径,并附上了参考文档地址与学习网址,对此感兴趣的伙伴可以直接访问学习.为了方便介绍,使用了 ...

  4. JSON数据填充表格——(三)

    1.定义页面请求JSON的按钮与定义一个带表头的表格  请求数据的按钮 <button class="btn btn-primary search_bar_button floatR& ...

  5. 利用tempo将json数据填充到html模板

    1.下载tempo 2.使用 <!DOCTYPE html> <html> <head lang="zn-ch"> <meta chars ...

  6. 利用json2html将json数据填充到html模板

    1.下载json2html>> 2.制作好模板.准备好json数据.启动 <!DOCTYPE html> <html> <head> <meta ...

  7. json数据与Gson工具类的使用

    JS中使用JSON JSON对象 --> JSON字符串:JSON.stringify(对象) JSON字符串 --> JSON对象:JSON.parse(JSON字符串) <scr ...

  8. Jackson 对象与json数据互转工具类JacksonUtil

    1,User对象 package com.st.json; import java.util.Date; /** * @Description: JSON序列化和反序列化使用的User类 * @aut ...

  9. 把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进)

    #把JSON数据载入到页面表单的两种思路(对easyui自带方法进行改进) ##背景 项目中经常需要把JSON数据填充到页面表单,一开始我使用easyui自带的form load方法,觉得效率很低,经 ...

随机推荐

  1. 20165214 2018-2019-2 《网络对抗技术》Exp5 MSF基础应用 Week8

    <网络对抗技术>Exp5 MSF基础应用 Week8 一.实验目标与内容 1.实践内容(3.5分) 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体我 ...

  2. 使用VS调试DUMP文件

    使用前准备: 1.保存编译文件的PDB文件(要和生成exe文件的对应) 2.在开发机器上,使用vs直接双击打开dmp文件,注意 进程名称 ,这个是程序运行crash的时候所在的目录位置,这个很重要. ...

  3. 微信浏览器软键盘弹出与页面resize的问题

    使用微信打开网页,弹出软键盘时遇到的兼容问题 过去开发中遇到过很多这种情况,页面底部需要固定定位一个按钮,广告栏或者菜单栏,页面中有表单项需要填写,在打开手机虚拟键盘的时候,底部固定定位的元素会处在软 ...

  4. 在执行hadoop fs命令时,出现WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable错误

    错误呈现: 解决过程: (参考链接:https://www.cnblogs.com/kevinq/p/5103653.html) 1.输出hadoop的详细日志,并执行hadoop fs命令来查看错误 ...

  5. CentOS 7 环境下GitLab安装及基本配置

    新实验室要求重新建设GitLab,对于我来讲,是第一次有机会当元老参与实验室的建设.下面分享我自己的实测经验: 1. 安装依赖软件并设置开机启动 yum install curlpolicycoreu ...

  6. 查询MySQL数据库中表结构的几种方法

    什么是表结构?表结构就是定义数据表文件名,确定数据表包含哪些字段,各字段的字段名.字段类型.及宽度,并将这些数据输入到计算机当中. 查询方法:以表‘employees’为例子 1.describe(d ...

  7. JVM学习三:静态分派

    所有依赖静态类型来定位方法的执行版本的分派动作成为静态分派,静态分派典型的应用场景是方法的重载.在编译阶段,javac编译器会根据参数的静态类型决定使用哪个重载版本,但很多种情况下这个版本并不是“唯一 ...

  8. ubuntu mariadb installation

    sudo apt-get install mariadb-server[sudo] password for wadmin: Reading package lists... DoneBuilding ...

  9. String对象常量池特性对synchronized对象的影响

    一 .什么是String的常量池特性 对于字符串对象有两种创建方法,如下: 直接赋值法: String str1="直接赋值创建字符串"; 创建对象法: String str2=n ...

  10. Linux 添加DNS配置

    Centos7.5 系统,保存退出后自动生效 vi /etc/resolv.conf #阿里云DNS nameserver 223.5.5.5nameserver 223.6.6.6 #百度DNSna ...