一、使用toString方法
Java Map类中提供了toString方法,可以直接将Map对象转换为字符串形式,但是该方法的返回值格式不够美观,每个键值对之间用","隔开,不能满足所有的需求,因此需要对其进行进一步的处理。
示例代码如下:Map<String,String> map = new HashMap<>(); map.put("name", "John"); map.put("age", "30"); String str = map.toString(); System.out.println(str); //输出结果:{name=John, age=30}
二、使用StringBuilder拼接
为了能够更好的控制输出的格式,我们可以使用StringBuilder来拼接Map中的键值对,自定义输出格式,逗号可以用replace方法替换。
示例代码如下:Map<String,String> map = new HashMap<>(); map.put("name", "John"); map.put("age", "30"); StringBuilder sb = new StringBuilder("{"); for(Map.Entry<String,String> entry: map.entrySet()){ sb.append(entry.getKey()).append(":").append(entry.getValue()).append(","); } sb.replace(sb.length()-1, sb.length(), "}"); String str = sb.toString(); System.out.println(str); //输出结果:{name:John,age:30}
三、使用Json库转换
如果需要将Map对象转换为Json字符串,可以使用Json库将其转换为Json格式的字符串,Json格式的字符串更易于阅读和解析。
示例代码如下:Map<String,String> map = new HashMap<>(); map.put("name", "John"); map.put("age", "30"); String jsonStr = JSONObject.toJSONString(map); System.out.println(jsonStr); //输出结果:{"age":"30","name":"John"}
四、使用Gson库转换
与Json库类似,Gson库也可以将Map对象转换为Json格式的字符串,但是在处理嵌套Map对象时更为方便。
示例代码如下:Map<String,Map<String,String>> map = new HashMap<>(); Map<String,String> innerMap = new HashMap<>(); innerMap.put("name", "John"); innerMap.put("age", "30"); map.put("person", innerMap); Gson gson = new Gson(); String jsonStr = gson.toJson(map); System.out.println(jsonStr); //输出结果:{"person":{"name":"John","age":"30"}}