Java 打印Map和List等复杂类型
Java打印一些复杂的数据类型时,往往没有python那样的方便,要写不少代码,现在发现有两个方法可以比较简单的实现类似python的便捷。
以下代码是测试用的数据
Map<String,Object> map=new HashMap<>();
map.put("11","11111");
Map<String,String> two=new HashMap<>();
two.put("aa","aaaaa");
two.put("bb","bbbbb");
map.put("22","22222");
map.put("two",two);
map.put("ttt",1111);
List<String> dat=new ArrayList<>();
dat.add("dd");
dat.add("bbbb");
dat.add("cccc");
map.put("dat",dat);
方法一:使用Groovy语言包
首先必须在maven中添加依赖
<!--groovy -->
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.8</version>
</dependency>
然后就可以在代码里面非常简单的进行打印输出了:
System.out.println(groovy.json.JsonOutput.toJson(map));
方法二:使用Fastjson库
使用阿里巴巴的fastjson库
添加依赖如下
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.6</version>
</dependency>
调用方法:
System.out.println(JSON.toJSONString(map));