fast json 乱序问题解决过程

解决问题:保存到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")

fast json 乱序问题解决过程_第1张图片

  1. deprecation 使用了不赞成使用的类或方法时的警告
  2. unchecked 执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics) 来指定集合保存的类型。
  3. fallthrough 当 Switch 程序块直接通往下一种情况而没有 Break 时的警告。
  4. path 在类路径、源文件路径等中有不存在的路径时的警告。
  5. serial 当在可序列化的类上缺少 serialVersionUID 定义时的警告。
  6. finally 任何 finally 子句不能正常完成时的警告。
    7.all 关于以上所有情况的警告。
 
4  开始看json.parse源码
  @SuppressWarnings("unchecked")
    public static  T parseObject(String text, Class clazz, Feature... features) {
        return (T) parseObject(text, (Type) clazz, ParserConfig.global, DEFAULT_PARSER_FEATURE, features);
    }

fast json 乱序问题解决过程_第2张图片

fast json 乱序问题解决过程_第3张图片

 

 
 

 

转载于:https://www.cnblogs.com/xlli/p/10669236.html

你可能感兴趣的:(fast json 乱序问题解决过程)