本文介绍一个将对象转换成JSON字符串的方法,如下代码仅仅是转换一维,如果打算转换多维可以使用递归即可。 /** * 将一个Bean转换成json的工具类 */ public class JsonTools{ /** * ""{ name:'davaa'} * @param o * @return */ static public String JsonStr(Object o) throws IllegalAccessException { StringBuilder sb = new StringBuilder(); Field[] fields = o.getClass().getDeclaredFields(); List<String> keyValueList = new ArrayList<String>(); for (Field field : fields) { field.setAccessible(true); if(field.getType().isPrimitive() && field.getType()!=char.class){ keyValueList.add( field.getName() + ":" + field.get(o)); }else if (field.getType() == String.class){ if (field.get(o)== null){ keyValueList.add(field.getName() + ":null"); }else { keyValueList.add(field.getName() + ":'" + field.get(o) + "'"); } }else if ( field.getType() == char.class){ if (field.getChar(o)==0){ keyValueList.add( field.getName() + ":''" ); }else{ keyValueList.add( field.getName() + ":" + field.getChar(o)); } } } // sb.append("{").append(keyValueList.stream().reduce((x,y)->{return x + "," + y ;}).get()).append("}"); sb.append("{").append(String.join(",",keyValueList)).append("}"); return sb.toString(); } }
利用Java反射机制编写一个生成将对象转换成Json的工具类
最新推荐文章于 2024-09-11 10:07:37 发布