记录一:JSON排序
JsonObject内部是用Hashmap来存储的,所以输出是按key的排序来的,如果要让JsonObject按固定顺序(put的顺序)排列,可以修改JsonObject的定义HashMap改为LinkedHashMap
LinkedHashMap<String, Object> jsonMap = JSON.parseObject(json,LinkedHashMap.class, Feature.OrderedField);
JSONObject jsonObject = new JSONObject(true);
jsonObject.putAll(jsonMap);
System.out.println(jsonObject.toString());
记录二:split分割字符串
java 中用split分割字符串,最后的空格等不被拆分。
在使用java中的split按照“\t”,拆分字符串的时候,发现如果最后的几个字段是空,只是用\t分割,是连着的\t的话,就不会被分割,如 “d\tc\te\t\t\t”最后的几个\t就不会被分割,应该是在拆分之前对字符串进行了处理。导致的拆分字段个数错误。查了一下APi,需要在split中添加参数-1,String[] values = line.split("\t",-1); imit 参数控制应用模式的次数,从而影响结果数组的长度
如果限制 n 大于零,那么模式至多应用 n> - 1 次,数组的长度不大于 n,并且数组的最后条目将包含除最后的匹配定界符之外的所有输入
如果 n 非正,那么将应用模式的次数不受限制,并且数组可以为任意长度
如果 n 为零,那么应用模式的次数不受限制,数组可以为任意长度,并且将丢弃尾部空字符串 (就是这个原因)
添加上参数-1之后,就正常了。
记录三:slf4日志配置大小和存储时间限制
logging:
level:
root: info
file:
max-size: 200MB
name: log/${spring.application.name}.log
max-history: 5
total-size-cap: 2048MB
记录四:出现 程序包不存在,实际maven引用无误,Error:(3, 13) java: 程序包feign不存在
解决方法:在项目根目录【open in Terminal】,输入
mvn idea:module