解决问题:保存到redis中的jsonstring在转回jsonObject的时候乱序;
解决方案:https://inlhx.iteye.com/blog/2312512
解决过程:
1 看fastjson的源码。
下载了fastjson源码,使用Linux命令解压:jar xvf fastjson-1.2.9-sources.jar
导入到IDE中查看。
2 注解 @target @Retention
@target 作用对象
@Retention 描述注解的生命周期
取值(RetentionPoicy)有:
1.SOURCE:在源文件中有效(即源文件保留)
2.CLASS:在class文件中有效(即class保留)
3.RUNTIME:在运行时有效(即运行时保留)
使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口,由编译程序自动完成其他细节。
参考该博客:https://www.cnblogs.com/gmq-sh/p/4798194.html
3 了解 @SuppressWarnings("unchecked")
-
deprecation 使用了不赞成使用的类或方法时的警告
-
unchecked 执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics) 来指定集合保存的类型。
-
fallthrough 当 Switch 程序块直接通往下一种情况而没有 Break 时的警告。
-
path 在类路径、源文件路径等中有不存在的路径时的警告。
-
serial 当在可序列化的类上缺少 serialVersionUID 定义时的警告。
-
finally 任何 finally 子句不能正常完成时的警告。7.all 关于以上所有情况的警告。
4 开始看json.parse源码
@SuppressWarnings("unchecked") public static <T> T parseObject(String text, Class<T> clazz, Feature... features) { return (T) parseObject(text, (Type) clazz, ParserConfig.global, DEFAULT_PARSER_FEATURE, features); }