String字符串处理系列和json转化


通过guava处理字符串

1、pom


    com.google.guava
    guava
    23.0

2、字符串拼接

// 将list 用‘;’拼接,并跳过 null
final List stringArrayList = Lists.newArrayList("aadf", "ldksf", "", "kjslfu", "ekfkkld");
final String join = Joiner.on(";").skipNulls().join(stringArrayList);
System.out.println("join = " + join);  // join = aadf;ldksf;kjslfu;ekfkkld

final String join1 = Joiner.on(" - ").join("adfs", 'd', 1233, 90, "wew");
System.out.println("join1 = " + join1); // join1 = adfs - d - 1233 - 90 - wew

3、字符串拆分

String a = "aadf;ldksf;;kjslfu;ekfkkld";
// 通过';'切割(支持正则),忽略空出字符串,结果字符串前后空格删除
final List strings = Splitter.on(";").omitEmptyStrings().trimResults().splitToList(a); 
System.out.println("strings = " + strings);

4、CharMatcher

String a = "kjluwefjo23749823ljk12340325132lk1r2137";
final String s = CharMatcher.javaDigit().retainFrom(a);
System.out.println("s = " + s);  // 237498231234032513212137

5、CaseFormat (未测)

LOWER_CAMEL    lowerCamel
LOWER_HYPHEN    lower-hyphen
LOWER_UNDERSCORE    lower_underscore
UPPER_CAMEL    UpperCamel
UPPER_UNDERSCORE    UPPER_UNDERSCORE

6、字符串格式化

String lkl = MessageFormat.format("aaa{0}ccc{1}", "bbb","ddd");    // aaabbbcccddd

通过fastjson处理字符串

1、pom


    com.alibaba
    fastjson
    1.2.69

2、其它类型转json

// list转json
List stringArrayList = Lists.newArrayList("aadf", "ldksf", "", "kjslfu", "ekfkkld");
String s = JSONObject.toJSONString(stringArrayList);  // ["aadf","ldksf","","kjslfu","ekfkkld"]

// 对象转json
Answer answer = new Answer();
answer.setUserId("kk");
answer.setId(12);
String s1 = JSONObject.toJSONString(answer);  //{"id":12,"userId":"kk"}

3、json转其它类型

// json 转map
String mapJson = "{\"id\":12,\"userId\":\"kk\"}";
final Map hashMap = JSONObject.parseObject(mapJson, HashMap.class); // {id=12, userId=kk}

// json 转实体类
String json = "{\"id\":12,\"userId\":\"kk\"}";
final Answer answer = JSONObject.parseObject(json, Answer.class);  // {id=12, subjectId='null', groupName='null', userAnswer='null', userId='kk'}

相关