类型转换——如何将一个List>类型换成json格式

时间:2022-01-27 21:55:56

情景:


今天在调试接口时要向服务器发送请求传参,需将一个List<Map<String,String>>类型换成json格式;


造*:

想起以前有做过类似的功能,是java基础的拼接,一时犯了懒,不想再造个*,于是随手翻了翻以前的项目,开始找*了


在这里把*贴出来,以后再用的话就不用翻啦,有用到的朋友也可以直接拿走稍作修改就可以使用。


 private String listToString(Map<String, String> mapDemo) {

        List<Map<String, String>> listMaps = new ArrayList<>();//初始化一个容器
        listMaps.add(mapDemo);//向容器里添加数据,生产List<Map<String,String>>类型

        Log.e("onClick: maps", listMaps.toString());//打印log放便查看要转换的数据
        StringBuilder sb = new StringBuilder();//用了stringbuffer,效率快,但是线程不安全的
        sb.append("[");

        for (Map<String, String> map : listMaps) {//这里用了增强for遍历

            for (String key : map.keySet()) { 
                
                //根据不同需求,拼接数据
                sb.append("{").append("\"").append(key).append("\":\"").append(map.get(key))
                        .append("\"").append("}").append(",");
            }

        }
        
        sb.deleteCharAt(sb.lastIndexOf(","));
        sb.append("]");
        
        Log.e("onClick: sb", sb.toString());//看看结果是不是自己想要的
        return sb.toString();//返回需要的结果
    }



如有不足,还请多指正。