日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

将对象集合包装成JSON格式

發布時間:2023/12/10 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将对象集合包装成JSON格式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import com.jssh.bean.system.SysMenu; import com.jssh.bean.system.SysMenuId; public class JsonUtil<T> {/*** 將對象集合包裝成JSON格式* @param list 對象集合* @return JSON格式字符串*/public String setList2ToJson(List<T> list){StringBuffer msg=new StringBuffer("[");for(T obj:list){msg.append(setObject2Json(obj));}msg.deleteCharAt(msg.length()-1);msg.append("\n]");return msg.toString();}/*** 將類對象包裝成JSON格式 : {'name':'a','value':'b'},* @param obj* @return JSON格式字符串*/public String setObject2Json(T obj){StringBuffer sb=new StringBuffer("\n{'");Field[] fields=obj.getClass().getDeclaredFields();for(Field f:fields){String fieldName=f.getName();//成員變量是否序列化if(!fieldName.equals("serialVersionUID")){Object methodValue=getFieldValue(fieldName, obj);sb.append(fieldName);Class<?> cls=f.getType();/** 判斷該成員變量是否自定義類對象 **/if(!cls.getName().equals("java.lang.String") && !cls.getName().equals("java.lang.Integer")&& !cls.getName().equals("java.util.Date") && !cls.getName().equals("long")){sb.append("':");/** 返回對象 **/T o=(T)getFieldValue(f.getName(),obj) ;String str=setObject2Json(o);sb.append(str);sb.append("\n'");}else{sb.append("':'");sb.append(methodValue.toString());sb.append("',\n'"); } } }sb.delete(sb.length()-4,sb.length()-1);sb.append("},");return sb.toString();}/*** 獲取類所有屬性名* @param obj 對象* @return 屬性數組*/public String[] getFieldNames(T obj){Field[] fields=obj.getClass().getDeclaredFields();String[] fnames=new String[fields.length];for(int i=0;i<fnames.length;i++){fnames[i]=fields[i].getName();}return fnames;}/*** 獲取屬性返回值* @param methodName * @param t* @return*/public Object getFieldValue(String fieldName,T obj){/** 得到類屬性值 **/Object methodValue=null;/** 組織GET方法名 **/String methodName="get"+fieldName.substring(0, 1).toUpperCase()+fieldName.substring(1);try {Method method=obj.getClass().getMethod(methodName, null);methodValue=(Object) method.invoke(obj, null);if(methodValue==null) methodValue="";}catch(Exception e){e.printStackTrace();}return methodValue;}public static void main(String[] args) {SysMenu menu=new SysMenu();menu.setIcon("icon");SysMenuId id=new SysMenuId();id.setMenuModule("oooooooooooooooooooo");id.setMenuPrivilege("~~~~~~~~~~~~~~~~~~~~~~~~~");menu.setId(id);menu.setMenuName("xxxxxxxxxxxxxxxxxxxxxxx");SysMenu menu2=new SysMenu();menu2.setIcon("icon");SysMenuId id2=new SysMenuId();id2.setMenuModule("oooooooooooooooooooo");id2.setMenuPrivilege("~~~~~~~~~~~~~~~~~~~~~~~~~");menu2.setId(id2);menu2.setMenuName("xxxxxxxxxxxxxxxxxxxxxxx");List<SysMenu> list=new ArrayList<SysMenu>();list.add(menu);list.add(menu2);String str=new JsonUtil<SysMenu>().setList2ToJson(list);System.out.println(str);} }


轉載于:https://blog.51cto.com/8659144/1394150

總結

以上是生活随笔為你收集整理的将对象集合包装成JSON格式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。