首页 > 代码库 > 格式化java对象为json

格式化java对象为json

在做java开发的时候,经常要格式化java对象,闲来无事就写了一个,

如果传递的是单个对象生成数据格式  {"id":"1","name":"名字"}

传递的是list对象生成数据格式  [{"id":"1","name":"名字"},{"id":"2","name":"名字2"}]

暂时还不支持对象递归生成数据 

public class JsonUtil {    public static String toJson(Object obj){        StringBuffer json = new StringBuffer();                if(obj instanceof Collection){            json.append("[");            Collection objColl = (Collection)obj;            Iterator iterator = objColl.iterator();            while(iterator.hasNext()){                Object subObj = iterator.next();                json.append(toJson(subObj)).append(",");            }            if(json.charAt(json.length() - 1) == ‘,‘){                json.deleteCharAt(json.length() - 1);            }            json.append("]");        }else{            json.append("{");            Class objClass = obj.getClass();            Field[] fields = objClass.getDeclaredFields();            for(Field field : fields){                field.setAccessible(true);                Object fieldObj = null;                try {                    fieldObj = field.get(obj);                } catch (IllegalArgumentException e) {                    e.printStackTrace();                } catch (IllegalAccessException e) {                    e.printStackTrace();                }                if(fieldObj != null){                    if(fieldObj instanceof Collection){                        continue;                    }                    json.append("\"").append(field.getName()).append("\":\"").append(fieldObj).append("\"").append(",");                }else{                    json.append("\"").append(field.getName()).append("\":null").append(",");                }            }            if(json.charAt(json.length() - 1) == ‘,‘){                json.deleteCharAt(json.length() - 1);            }            json.append("}");        }        return json.toString();    } }

 因为才疏学浅,所以还不知道有没有什么好的json开源项目,有的话可以推荐给我,谢谢各位了