前台传一个json字符串,没有告诉我参数的类型,我想用反射机制动态调用对应的方法,但是参数匹配不了。请教下,这个参数类型如何能根据动态转换。
args[i] = (m.getParameterTypes()[i].getName())(jo.get(key));
就是这个地方,我希望将某个json的参数动态转换成与方法匹配的类型。
m.invoke(c.newInstance(), args);
没有转换就会报参数不匹配的异常。
args[i] = (m.getParameterTypes()[i].getName())(jo.get(key));
就是这个地方,我希望将某个json的参数动态转换成与方法匹配的类型。
m.invoke(c.newInstance(), args);
没有转换就会报参数不匹配的异常。
解决方案 »
- java利用进程调用BAT问题
- 我的jar文件在自己的电脑双击不能运行,可是在别人的电脑可以运行。
- 新手小程序求解错误
- Applet 必须每次都从服务器上下载吗,它能象ActiveX 控件下载到本地吗
- 我在Application应用程序中,例如,有一个页面,有一个下拉列表框,JComboBox,当我选择它的一个值,具体问题如下
- 异常------求助啊
- 在线程中打开了一个窗口,如何关闭呢?详情请进,谢谢!!!
- 帮我看看这部分代码吧,再弄不出来我快要疯了,天啊,明天大街上难道会多一个疯婆子?
- 数据库取数据错误:ResultSet can not re-read row data for column 5
- 猜拳游戏
- 包装类的作用,有那些用法?
- int和Integer输出的结果不同
[{'name':'paramName','value':'paramValue'},{'name':'paramName','value':'paramValue'},....]
动态生成这个JSON数据就可以了,然后在后台转换成JSONArray对象,遍历每一个JSONObject,通过jobj.name、jobj.value就可以知道参数名和值了。
//args[i] = jo.get(key);
找到了一个转换的类。按第一行的方法转换类型就行了。 直接使用Object类型是不对的