fastjson是会变小嘛?
时间: 2023-06-18 10:04:24 浏览: 58
fastjson是一个Java语言编写的JSON解析器和生成器,它不会自动压缩JSON字符串大小。但是,你可以使用fastjson提供的一些优化方式来减小生成的JSON字符串的大小。例如,你可以使用SerializerFeature.MINIMIZE_WHITESPACE选项来去除生成的JSON字符串中的空格,从而减小字符串大小。另外,你也可以使用SerializerFeature.WRITE_MAP_NULL_FEATURES选项来忽略空值属性,从而减小JSON字符串的大小。总之,fastjson可以通过一些优化方式来减小生成的JSON字符串的大小,但是它本身并不会自动压缩JSON字符串大小。
相关问题
fastjson 中的token是什么?
在 Fastjson 中,token 是指在解析 JSON 字符串时,将其拆分为一系列的 token,并按照一定的顺序进行组合,最终得到一个完整的 JSON 对象或数组。具体来说,token 是指 JSON 字符串中的一个元素,可以是一个对象、一个数组、一个字符串、一个数字等等。在 Fastjson 中,可以通过 JSONReader 对象来逐个读取这些 token,然后进行相应的处理。例如,可以使用 JSONReader 的 readObject() 方法来读取一个 JSON 对象,使用 readArray() 方法来读取一个 JSON 数组,使用 readString() 方法来读取一个字符串,以此类推。
fastjson 中的JSONLexer 是什么?原理是什么?
JSONLexer 是 fastjson 中的 JSON 解析器的核心组件,用于将 JSON 字符串解析成一个个符号或者 token。
JSONLexer 的原理是使用有限状态自动机(Finite-state machine)来实现的。有限状态自动机是一种计算模型,它可以被描述为一组状态(state)、初始状态(initial state)、输入符号(input symbol)、转移函数(transition function)和终止状态(final state)的元组。在这个模型中,状态会随着输入符号的流动而变化,最终到达一个终止状态,这个过程可以看做是一个有限状态的计算过程。
在 fastjson 中,JSONLexer 就是使用有限状态自动机来实现 JSON 解析的。它不断地读取输入的字符,根据当前状态和输入字符的类型来决定下一步的状态,并最终输出一个 token。
例如,当 JSONLexer 遇到一个数字字符时,它会进入 NUMBER 状态,然后继续读取后面的字符,直到遇到非数字字符为止,然后输出一个 NUMBER 类型的 token。当遇到一个左括号字符时,它会输出一个 LEFT_BRACKET 类型的 token,并进入一个新的状态,以此类推。
总之,JSONLexer 通过有限状态自动机的模型来解析 JSON 字符串,使得 fastjson 能够高效地解析大规模的 JSON 数据。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)