一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java反射實現(xiàn)javabean轉(zhuǎn)json實例代碼

java反射實現(xiàn)javabean轉(zhuǎn)json實例代碼

2019-10-25 13:26java教程網(wǎng) JAVA教程

基于java反射機制實現(xiàn)javabean轉(zhuǎn)json字符串實例,大家參考使用吧

ObjectToJson.java

復(fù)制代碼代碼如下:


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轉(zhuǎn)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 {
    //執(zhí)行g(shù)et方法,獲取變量參數(shù)的直。
    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

 

復(fù)制代碼代碼如下:


 package com.test;

 

import java.util.ArrayList;

import com.ObjectToJson.ObjectToJson;

public class Test {
  public static void main(String[] args){
   //數(shù)據(jù)構(gòu)建
   ArrayList<User> list=getlist();
   //數(shù)據(jù)轉(zhuǎn)換
   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

 

復(fù)制代碼代碼如下:


 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;
 }
 

}
 

 

 測試結(jié)果

 

復(fù)制代碼代碼如下:

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91麻豆精品国产自产在线观看 | 日韩伦理在线观看 | 男人和女人上床 | 国产成人影院 | 紧身裙女教师miad711在线 | 91桃色视频在线观看 | 国产精品亚洲精品日韩已方 | 亚洲AV久久无码精品九号软件 | 性bbbb妇女激情 | 青青草影院在线观看 | 亚洲羞羞裸色私人影院 | 香蕉久久ac一区二区三区 | 日本在线观看a | 午夜影院在线免费观看 | 天天干夜夜添 | 国产亚洲精品一区久久 | 久久一er精这里有精品 | 911香蕉视频 | 欧美亚洲影院 | 精品视频一区二区 | 99精品国产成人一区二区在线 | 特级夫妻大片免费在线播放 | xxx老妇人60 xxxx意大利xxxxhd | 楚乔传第二部免费完整 | 久久久久青草大香线综合精品 | 国产不卡视频 | 纲手被漫画aⅴ | 饭冈加奈子乳喷cead144 | 国产在线伊人 | 成年性香蕉漫画在线观看 | 欧美人人干 | 成人啪啪漫画羞羞漫画www网站 | 亚州一区二区 | 欧美精品亚洲精品日韩1818 | 无人在线高清免费看 | 花蝴蝶www| 色婷婷精品 | 青青色在线 | 欧美亚洲免费 | 奇米影视一区 | 欧美人在线一区二区三区 |