情景:
今天在调试接口时要向服务器发送请求传参,需将一个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();//返回需要的结果
- }