diff --git a/src/android/cordova/plugin/jcprinter/JcPrinter.java b/src/android/cordova/plugin/jcprinter/JcPrinter.java index dd14954..427c6a5 100644 --- a/src/android/cordova/plugin/jcprinter/JcPrinter.java +++ b/src/android/cordova/plugin/jcprinter/JcPrinter.java @@ -110,9 +110,18 @@ public class JcPrinter extends CordovaPlugin { obj = methodJsonArgs.opt(i); } if(obj instanceof JSONArray){ - Object array = Array.newInstance(a.getComponentType(),((JSONArray) obj).length()); + a = a.getComponentType(); + Object array = Array.newInstance(a,((JSONArray) obj).length()); for(int j=0;j<((JSONArray) obj).length();j++){ - Array.set(array,j,((JSONArray) obj).opt(j)); + Object innerObj; + if(a == Float.class){ + innerObj = Float.parseFloat(((JSONArray) obj).optString(j)); + } else if(a == Integer.class){ + innerObj = ((JSONArray) obj).optInt(j); + } else{ + innerObj = ((JSONArray) obj).opt(j); + } + Array.set(array,j,innerObj); } methodArgs[i] = array; }else{