[json-lib-user] Problem converting to JSONArray to byte array
Brought to you by:
aalmiray
From: Jeevandra S. <jee...@ho...> - 2007-10-13 02:20:23
|
Hi, I am having problem converting JSONArray to a byte array. I've used the fol= lowing code in my program to process arrays in my bean. It seems to work fi= ne for other primitive types but byte. Is there a reason for this? Many tha= nks for your advice. jeev It returns java.lang.IllegalArgumentException: argument type mismatch at java.lang.reflect.Array.set(Native Method) at net.sf.json.JSONArray.toArray(JSONArray.java:273) at net.sf.json.JSONArray.toArray(JSONArray.java:225) at spar.utility.JSONBeanProcessor.processArrays(JSONBeanProcessor.j= ava:53) at spar.utility.JSONBeanProcessor.getBean(JSONBeanProcessor.java:31= ) at spar.testing.JSONTestRun.main(JSONTestRun.java:51) private static void processArrays(Object bean, Class beanClass, JSONObject = object){ =20 Field[] fields =3D beanClass.getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); if(object.containsKey(field.getName())){ Object memberobject =3Dobject.get(field.getName()); if(JSONUtils.isArray(memberobject) && field.getType().i= sArray()){ =20 try { JSONArray array =3D JSONArray.fromObject(memberobje= ct); =20 //Problem with the following! field.set(bean, field.getType().cast(JSONArray.toAr= ray(array, field.getType().getComponentType()))); } catch (IllegalArgumentException ex) { Logger.getLogger(JSONBeanProcessor.class.getName())= .log(Level.SEVERE, null, ex); } catch (IllegalAccessException ex) { Logger.getLogger(JSONBeanProcessor.class.getName())= .log(Level.SEVERE, null, ex); } =20 }//end if =20 }//end if =20 } } "If a man does not keep pace with his companions, perhaps it is because he = hears a different drummer. Let him step to the music which he hears, howeve= r measured or far away."=0A= =0A= H.D Thoreau _________________________________________________________________ Publish your photos to your Space easily with Photo Gallery http://www.get.live.com/wl/all= |