fastjson2/docs/design_jsonreader.md
2022-08-27 03:51:29 +08:00

23 lines
857 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

JSONReader是fastjson2读取JSON数据的底层实现为了方便不同的输入分别提供了如下实现
* JSONReaderUTF16 用于处理输入为char[]的输入在JDK8下 String会转成char[]使用JSONReaderUTF16实现在JDK 9或者更高版本如果coder=1也是会使用这个实现。
* JSONReaderUTF8 用于处理输入为utf8编码的byte[]
* JSONReaderASCII是JSONReaderUTF8的派生类用于处理JDK 9之后coder=0的优化
* JSONReaderJSONB 如果输入是jsonb格式数据时使用JSONReaderJSONB实现通过相同的API实现两套协议一套API
```java
class JSONReader { }
class JSONReaderUTF16 extends JSONReader {
char[] chars;
}
class JSONReaderUTF8 extends JSONReader {
byte[] bytes;
}
class JSONReaderASCII extends JSONReaderUTF8 { }
class JSONReaderJSONB extends JSONReader {}
```