先给大家介绍下แผนที่和วัตถุ互相转换的代码。
具体代码如所示:
/ ** * 使用 org.apache.commons.beanutils 进行转换 */ คลาส A {วัตถุคงที่สาธารณะ maptoobject (แผนที่ <String, Object> แผนที่, คลาส <?> beanclass) โยนข้อยกเว้น {ถ้า (แผนที่ == null) ส่งคืน null; Object obj = beanclass.newinstance (); org.apache.commons.beanutils.beanutils.populate (OBJ, MAP); คืน OBJ; } แผนที่คงที่สาธารณะ <?,?> ObjectTomap (Object obj) {ถ้า (obj == null) ส่งคืน null; ส่งคืน org.apache.commons.beanutils.beanmap (OBJ); }} / ** * 使用 introspector 进行转换 * / คลาส B {วัตถุคงที่สาธารณะ maptoobject (แผนที่ <สตริง, วัตถุ> แผนที่, คลาส <?> beanclass) โยนข้อยกเว้น {ถ้า (แผนที่ == null) ส่งคืน null; Object obj = beanclass.newinstance (); beaninfo beaninfo = introspector.getBeanInfo (obj.getClass ()); PropertyDescriptor [] PropertyDescriptors = beanInfo.getPropertyDescriptors (); สำหรับ (PropertyDescriptor Property: PropertyDescriptors) {method setter = property.getWriteMethod (); if (setter! = null) {setter.invoke (obj, map.get (property.getName ())); }} ส่งคืน OBJ; } แผนที่คงที่สาธารณะ <สตริงวัตถุ> ObjectTomap (Object OBJ) โยนข้อยกเว้น {ถ้า (obj == null) ส่งคืน null; แผนที่ <string, Object> map = new hashmap <string, object> (); beaninfo beaninfo = introspector.getBeanInfo (obj.getClass ()); PropertyDescriptor [] PropertyDescriptors = beanInfo.getPropertyDescriptors (); สำหรับ (PropertyDescriptor Property: PropertyDescriptors) {String key = property.getName (); if (key.comparetoignorecase ("คลาส") == 0) {ดำเนินการต่อ; } method getter = property.getReadMethod (); ค่าวัตถุ = getter! = null? getter.invoke (obj): null; map.put (คีย์, ค่า); } กลับแผนที่; }} / ** * 使用สะท้อน进行转换 * / คลาส C {วัตถุสาธารณะคงที่ maptoObject (แผนที่ <สตริงวัตถุ> แผนที่คลาส <?> beanclass) โยนข้อยกเว้น {ถ้า (แผนที่ == null) ส่งคืน null; Object obj = beanclass.newinstance (); ฟิลด์ [] ฟิลด์ = obj.getClass (). getDeclaredFields (); สำหรับ (ฟิลด์ฟิลด์: ฟิลด์) {int mod = field.getModifiers (); if (modifier.isstatic (mod) || modifier.isfinal (mod)) {ดำเนินการต่อ; } field.setAccessible (จริง); field.set (obj, map.get (field.getName ())); } return obj; } แผนที่คงที่สาธารณะ <สตริงวัตถุ> ObjectTomap (Object OBJ) โยนข้อยกเว้น {ถ้า (obj == null) {return null; } แผนที่ <string, Object> map = new hashmap <string, object> (); ฟิลด์ [] ประกาศฟิลด์ = obj.getClass (). getDeclaredFields (); สำหรับ (ฟิลด์ฟิลด์: ประกาศฟิลด์) {field.setAccessible (จริง); map.put (field.getName (), field.get (obj)); } กลับแผนที่; } <p>} </p> <p> </p> <p> จาก: http: //www.open-open.com/code/view/1423280939826 </p>下面给大家介绍แผนที่和 json 的互相转换
第一段代码
แผนที่ <string, Object> MAP = ใหม่ HashMap <String, Object> (); map.put ("Method", "JSON"); map.put ("param", null); map.put ("เวลา", "2015-01-23 10:54:55"); ObjectMapper = ObjectMapper第二段代码
โมฆะคงที่สาธารณะ readjson2map (สตริง json) {ObjectMapper ObjectMapper = new ObjectMapper (); ลอง {// 将 json 字符串转成แผนที่结合解析出来, 并打印并打印 (这里以解析成แผนที่为例) แผนที่ <สตริง, map <สตริง, วัตถุ >> แผนที่ = mapper.ReadValue (json, map.class); maps.keyset (); iterator <string> iter = key.iterator (); ในขณะที่ (iter.hasnext ()) {ฟิลด์สตริง = iter.next (); system.out.println (ฟิลด์ + ":" maps.get (ฟิลด์)); {E.PrintStackTrace ();} catch (iOexception e) {E.printStackTrace ();}} readjson2Map (JSON);以上内容是小编给大家介绍的 java 代码实现แผนที่和วัตถุ互转及แผนที่和 json 的互转的相关知识, 希望对大家有所帮助, 如果大家想了解更多资讯敬请关注武林网网站, 谢谢! 谢谢! 谢谢!