fastjson的反序列化解析流程如下:
首先,fastjson会根据输入的JSON字符串构建一个JSONReader对象(也可以是其他输入源,如InputStream)。
然后,fastjson会根据JSONReader对象读取JSON字符串的内容,并解析成内存中的JSONObject或JSONArray对象。
在解析过程中,fastjson会根据JSON字符串的语法规则,逐个解析JSON对象的键值对或数组的元素,并根据对应的数据类型进行转换。
对于复杂的数据结构,如嵌套的JSONObject或JSONArray,fastjson会递归地进行解析。
在解析过程中,fastjson会根据对象的字段名(或数组的索引)和对应的类型信息,将JSON中的值转换成Java对象的字段值(或数组元素值)。
最后,fastjson会将解析后的Java对象返回给调用者,完成反序列化的过程。
需要注意的是,fastjson支持自定义的反序列化功能,可以通过实现自定义的反序列化器(Deserializer)来扩展fastjson的反序列化能力。