Map 和 List 转换json

最近开发一个项目,前后端彻底分离, 然后前端还没开始, 后端写好了,需要测试, 就自己模拟了前端提交测试. 

前后端分离开发,所有参数交互都是json字符串传递, 自己造参数也挺累,  特别是json格式什么的, 想想就随手写了个转换小工具. 兼容类型不多, 目前只支持Map 和 List转换.  包含 List套map 或者 map套List 等综合模式.

不说了,上代码: 

//map转换json 

public static String getJsonMap(Map<String,Object> map){
        StringBuffer sbf = new StringBuffer();
        Set<String> keys = map.keySet();
        sbf.append("{");
        for(String str : keys){
            sbf.append("\"");
            sbf.append(str);
            sbf.append("\":");
            if(map.get(str) instanceof Map){
                sbf.append(getJsonMap((Map)map.get(str)));
            }else if(map.get(str) instanceof List){
                sbf.append(getJsonList((List) map.get(str)));
            }else{
                sbf.append("\"");
                sbf.append(map.get(str));
                sbf.append("\"");
            }
            sbf.append(",");
        }
        sbf = new StringBuffer(sbf.substring(0,sbf.length()-1));
        sbf.append("}");
        return sbf.toString();
    }

//list转换json

public static String  getJsonList(List list){
        StringBuffer sbf = new StringBuffer("[");
        for (Object object : list) {
            if(object instanceof List){
                sbf.append(getJsonList((List) object));
            }else if(object instanceof Map){
                sbf.append(getJsonMap((Map)object));
            }else{
                sbf.append(object.toString());
            }
            sbf.append(",");
        }
        sbf = new StringBuffer(sbf.substring(0,sbf.length()-1));
        sbf.append("]");
        return sbf.toString();
    }

 

public static String test(){
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("name", "小白白");
        map.put("age", 2);
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
        for(int i=0; i<3; i++){
            Map<String, Object> mapc = new HashMap<String, Object>();
            mapc.put("a"+i, i);
            mapc.put("b"+i, i);
            mapc.put("c"+i, i);
            list.add(mapc);
        }
        map.put("list", list);
        String str = getJsonMap(map);
        System.out.println(str);
        return "";
    }

结果:


版权声明:本文为hei164730739原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。