添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • Linux
  • Nginx
  • 数据库
  • Python
  • PHP
  • C#
  • .NET
  • WPF
  • MAUI
  • Blazor
  • WinForm
  • 帝国CMS
  • AKCMS
  • Typecho
  • 织梦CMS
  • Visual Studio
  • Windows
  • Mac
  • Web前端
  • 数据采集
  • 运营
  • 产品
  • 摩托车
  • 电影
  • 杂事
  • 这天遇到一个需求,动态抓取某个网站的内容,需要一个页面一个页面的保存,网站页面接口是不同的Json格式,需要把不同的Json转换成各自的类,针对各个类来实现方法和数据提取,实现方式是把转换的类名称写到配置文件,通过配置文件来动态调用类,这就存在一个问题,读取的配置文件是字符串,怎么转换成类对象呢? .

    实现方式可以通过反射实现,代码如下:

    //循环读取配置文件的类名,这里Test是从配置文件里读取的 Type t = Type.GetType("Test"); //创建实例对象 var obj = t.Assembly.CreateInstance("Test"); //动态从网站抓取出的json,模拟过程,这里就不列出具体代码了 var json= "{test:\"hidotnet开发跳槽\"}"; //获取方法 MethodInfo method = t.GetMethod("TestFun"); //调用方法 method.Invoke(obj, new object[] {json}); //测试的类型 class Test {   //处理Json的方法 public void TestFun(string name) { Console.WriteLine("要处理的Json:" + name); } }

    上面通过反射实现了动态读取类来处理数据,不用switch来分支判断了,这样就避免了代码的重复和臃肿。大家还有啥好的方法,欢迎留言讨论。

    本文作者:翔星 信息来源: 公众号 DotNet开发跳槽 所属分类: C# Power by Typecho. Theme by Puma. Written by 董川民- 独立开发者 渝ICP备16006207号-2 渝公网安备 50011202503233号

    友情链接: