今天遇到一个需求。 要动态捕获网站的内容,需要逐页保存。 网站页面接口采用不同的Json格式。 需要将不同的Json转换成各自的类,并为每个类实现方法。 以及数据提取,实现方法是将转换后的类名写入到配置文件中,通过配置文件动态调用类。 有一个问题。 读取到的配置文件是一个字符串,如何将其转换为类对象?
实现可以通过反射来实现,代码如下:
//循环读取配置文件的类名,这里Test是从配置文件中读取 Typet=Type.("Test");//创建实例对象 var obj = t..("Test");/ / 动态从网站抓取json并模拟该过程。 具体代码这里就不列出来了。 var json= "{test:\"开发跳槽\"}";//获取 = t.("");//调用.(obj,[]{json});//测试类的类型Test{//处理Json的方法(){.("待处理的Json:"+name); }}
上面利用反射实现动态读取类来处理数据,不需要分支判断,从而避免了代码重复和臃肿。 如果您还有其他好的方法,欢迎留言讨论。