<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.4</version>
</dependency>
JSON.toJSONString(object);
当然所有涉及到JSON的问题都可以用该包解决。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>16.0.1</version>
</dependency>
常用集合操作,以下都是在工作中经常遇到的一些问题的优美的解决方式:
1,list 2 list
List<String> addressList = Lists.transform(userPoList, new Function<UserPo, String>() {
public String apply(UserPo userPo) {
return userPo.getAddress();
}
});
System.out.println(JSON.toJSONString(addressList));
将对象中的某属性抽出来作为一个集合,当然transform是用来转换的,这只是一种常见下面的同理。
2,list 2 string
List<String> list = Lists.newArrayList(“test1”,null,"test2","test3");
String addressStr = Joiner.on(",”).skipNulls.join(list);
System.out.println(addressStr);
将列表中的元素拼接为字符串
3,list 2 map
Map<String, UserPo> id2user = Maps.uniqueIndex(userPoList, new Function<UserPo, String>() {
public String apply(UserPo from) {
return from == null ? StringUtils.EMPTY : String.valueOf(from.getUserId());
}
});
System.out.println(JSON.toJSONString(id2user));
将列表中对象的主键作为新map的key,对象作为值
4,map 2 map
Map<String, UserPo> key2user = Maps.newHashMap();
key2user.put("key1", po1);
key2user.put("key2", po2);
key2user.put("key3", po3);
key2user.put("key4", po4);
key2user.put("key5", null);
Map<String, String> newMap = Maps.transformValues(key2user, new Function<UserPo, String>() {
public String apply(UserPo from) {
return from == null ? StringUtils.EMPTY : String.valueOf(from.getUserId());
}
});
System.out.println(JSON.toJSONString(newMap));
原map中value为对象,转换后map中value为对象的某一属性(当然也可为其他,如属性组合)
5,map 2 string
Map<String, Integer> salary = Maps.newHashMap();
salary.put("John", 1000);
salary.put("Jane", 1500);
String map2string = Joiner.on(",").withKeyValueSeparator("=").join(salary);
System.out.println(JSON.toJSONString(map2string));
将map转换为指定格式的string
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>16.0.1</version>
</dependency>
1,string 2 map
String input = "John:first,Adam:second";
Map<String, String> result = Splitter.on(",").withKeyValueSeparator(":").split(input);
System.out.println(JSON.toJSONString(result));
将string转为map,读取配置可能用到
2,string 2 list
String ss = "apple - banana - orange";
List<String> string2list = Splitter.on("-").trimResults().splitToList(ss);
System.out.println(JSON.toJSONString(string2list));
将string转为list,读取配置可能用到