麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

java反射實現javabean轉json實例代碼

2019-11-26 15:50:58
字體:
來源:轉載
供稿:網友

ObjectToJson.java

復制代碼 代碼如下:

package com.ObjectToJson;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;

public class ObjectToJson {

 
 public  static String ObjListToJson(ArrayList<?> list){
  StringBuilder build=new StringBuilder();
  //迭代器
  Iterator<?> iterator=list.iterator();
  build.append("[");
  String separate="";
  while(iterator.hasNext()){
   build.append(separate);
   //object轉json字符串
   String str=ObjToJson(iterator.next());
   build.append(str);
   separate=",";
  }
  build.append("]");
  return build.toString();
 }

 @SuppressWarnings("unchecked")
 public  static String ObjToJson(Object obj){
  StringBuilder build=new StringBuilder();
  build.append("{");
  @SuppressWarnings("rawtypes")
  Class cla=null;
  try {
   //反射加載類
   cla=Class.forName(obj.getClass().getName());
  } catch (ClassNotFoundException e) {
   System.out.println(obj.getClass().toString().concat(" 未找到這個類"));
   e.printStackTrace();
   return null;
  }

  StringBuffer methodname=new StringBuffer();
  //獲取java類的變量
  Field[] fields=cla.getDeclaredFields();
  String separate="";
  for(Field temp:fields){
   build.append(separate);
   build.append("/"");
   build.append(temp.getName());
   build.append("/":");

   methodname.append("get");
   methodname.append(temp.getName().substring(0,1).toUpperCase());
   methodname.append(temp.getName().substring(1));

   build.append("/"");
   Method method=null;
   try {
    //獲取java的get方法
    method=cla.getMethod(methodname.toString());
   } catch (NoSuchMethodException | SecurityException e) {
    methodname.setLength(0);
    e.printStackTrace();
   }

   try {
    //執行get方法,獲取變量參數的直。
    build.append(method.invoke(obj));
   } catch (IllegalAccessException e) {
    e.printStackTrace();
   } catch (IllegalArgumentException e) {
    e.printStackTrace();
   } catch (InvocationTargetException e) {
    e.printStackTrace();
   }

   build.append("/"");
   methodname.setLength(0);
   separate=",";
  }

  build.append("}");
  return build.toString();
 }
}

 Test.java

 

復制代碼 代碼如下:

 package com.test;

import java.util.ArrayList;

import com.ObjectToJson.ObjectToJson;

public class Test {
  public static void main(String[] args){
   //數據構建
   ArrayList<User> list=getlist();
   //數據轉換
   String listjson=ObjectToJson.ObjListToJson((ArrayList<?>)list);
   System.out.println("{/"data/":"+listjson+"}");
  }

  public static ArrayList<User> getlist(){
   User user00=new User();
   user00.setUserage("27");
   user00.setUsername("smart");
   user00.setUsersex("man");

   User user01=new User();
   user01.setUserage("27");
   user01.setUsername("smart00");
   user01.setUsersex("man");

   ArrayList<User> list=new ArrayList<User>();

   list.add(user00);
   list.add(user01);

   return list;
  }

}
 

 User.java

 

復制代碼 代碼如下:

 package com.test;

public class User {
 private String username;
 private String usersex;
 private String userage;

 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
 public String getUsersex() {
  return usersex;
 }
 public void setUsersex(String usersex) {
  this.usersex = usersex;
 }
 public String getUserage() {
  return userage;
 }
 public void setUserage(String userage) {
  this.userage = userage;
 }
 

}
 

 測試結果

 

復制代碼 代碼如下:

 {"data":[{"username":"smart","usersex":"man","userage":"27"},{"username":"smart00","usersex":"man","userage":"27"}]}
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一级特级 | 精品国产91久久久久久 | 国产成人免费精品 | 在线免费观看日韩视频 | 亚洲成人激情在线 | 污片在线观看视频 | 中国免费一级毛片 | 国产成年人在线观看 | 亚洲人成电影在线 | 亚州视频在线 | 成人毛片免费视频 | tube69xxxxxhd | 五月婷婷第四色 | 亚洲精品7777xxxx青睐 | 欧美日韩在线视频一区 | 久草在线最新免费 | 日本a∨精品中文字幕在线 被啪羞羞视频在线观看 | 欧美一级高潮片免费的 | 天天草天天干天天射 | 国产亚洲在线 | 91精品一区二区综合在线 | 国产老师做www爽爽爽视频 | 午夜视频在线看 | 美女在线观看视频一区二区 | 国产精品性夜天天视频 | 毛片福利 | 成人三级电影网站 | 精品小视频| 性爱视频免费 | 中文字幕综合在线观看 | 牛牛a级毛片在线播放 | 欧美黄色免费视频 | 青青操精品 | 久久亚洲网 | 亚洲爱爱网站 | 欧美乱淫| 热久久成人| 91小视频在线观看免费版高清 | 成人黄色小视频在线观看 | av日韩一区二区三区 | 香蕉成人在线观看 |