首页 > 代码库 > 格式化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开源项目,有的话可以推荐给我,谢谢各位了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。