Jackson - JsonGenerator 类
介绍
JsonGenerator 是一个基类,用于定义编写 JSON 内容的公共 API。实例是使用 JsonFactory 实例的工厂方法创建的。
类声明
以下是com.fasterxml.jackson.core.JsonGenerator类的声明
public abstract class JsonGenerator extends Object implements Closeable, Flushable, Versioned
嵌套类
序号 | 类和描述 |
---|---|
1 | 静态类 JsonGenerator.Feature 定义生成器所有可切换功能的枚举。 |
字段
protected PrettyPrinter _cfgPrettyPrinter - 在输出期间处理漂亮打印(通常是额外的空格以使结果更易于阅读)的对象。
构造函数
序号 | 构造函数和描述 |
---|---|
1 | protected JsonGenerator() 默认构造函数 |
类方法
序号 | 方法和描述 |
---|---|
1 | protected void _reportError(String msg) - 用于构造和抛出带有给定基本消息的 JsonGenerationException 的辅助方法。 |
2 | protected void _reportUnsupportedOperation() |
3 | protected void _throwInternal() |
4 | protected void _writeSimpleObject(Object value) - 辅助方法,尝试为给定的无类型对象调用适当的写入方法。 |
5 | boolean canOmitFields() - 用于检查是否可以省略写入对象字段的内省方法。 |
6 | boolean canUseSchema(FormatSchema schema) - 可用于验证给定模式是否可与此生成器一起使用的方法(使用 setSchema(com.fasterxml.jackson.core.FormatSchema))。 |
7 | boolean canWriteBinaryNatively() - 可调用的内省方法,用于查看底层数据格式是否支持“原生”二进制数据;也就是说,高效输出二进制内容而不进行编码。 |
8 | boolean canWriteObjectId() - 可调用的内省方法,用于查看底层数据格式是否原生支持某种对象 ID(许多都不支持;例如,JSON 不支持)。 |
9 | boolean canWriteTypeId() - 可调用的内省方法,用于查看底层数据格式是否原生支持某种类型 ID(许多都不支持;例如,JSON 不支持)。 |
10 | abstract void close() - 用于关闭此生成器的方法,以便不再写入内容。 |
11 | JsonGenerator configure(JsonGenerator.Feature f, boolean state) - 用于启用或禁用指定功能的方法:检查 JsonGenerator.Feature 以了解可用功能的列表。 |
12 | void copyCurrentEvent(JsonParser jp) - 用于复制给定解析器实例指向的当前事件内容的方法。 |
13 | void copyCurrentStructure(JsonParser jp) - 用于复制给定解析器实例指向的当前事件及其包含的后续事件内容的方法。 |
14 | abstract JsonGenerator disable(JsonGenerator.Feature f) - 用于禁用指定功能的方法(检查 JsonGenerator.Feature 以了解功能列表) |
15 | abstract JsonGenerator enable(JsonGenerator.Feature f) - 用于启用指定解析器功能的方法:检查 JsonGenerator.Feature 以了解可用功能的列表。 |
16 | abstract void flush() - 用于将任何缓冲内容刷新到底层目标(输出流、写入器)并刷新目标本身的方法。 |
17 | CharacterEscapes getCharacterEscapes() - 用于访问工厂为其创建的 JsonGenerator 使用的自定义转义符的方法。 |
18 | abstract ObjectCodec getCodec() - 用于访问用于将 Java 对象写入 Json 内容的对象的方法(使用 writeObject(java.lang.Object) 方法)。 |
19 | abstract int getFeatureMask() - 用于获取所有标准 JsonGenerator.Features 状态的批量访问方法。 |
20 | int getHighestEscapedChar() - 用于测试为此生成器配置的最高未转义字符的访问器方法。 |
21 | abstract JsonStreamContext getOutputContext() |
22 | Object getOutputTarget() - 可用于访问用作生成输出目标的对象的方法;这通常是 OutputStream 或 Writer,具体取决于生成器的构造方式。 |
23 | PrettyPrinter getPrettyPrinter() - 用于检查此生成器是否配置了 PrettyPrinter 的访问器;如果已配置,则返回它;如果未配置,则返回 null。 |
24 | FormatSchema getSchema() - 用于访问此解析器使用的模式(如有)的方法。 |
25 | abstract boolean isClosed() - 可用于确定此生成器是否已关闭的方法。 |
26 | abstract boolean isEnabled(JsonGenerator.Feature f) - 用于检查给定功能是否已启用的方法。 |
27 | JsonGenerator setCharacterEscapes(CharacterEscapes esc) - 用于定义工厂为其创建的 JsonGenerator 使用的自定义转义符的方法。 |
28 | abstract JsonGenerator setCodec(ObjectCodec oc) - 可用于设置或重置用于将 Java 对象作为 JsonContent 写入的对象的方法(使用 writeObject(java.lang.Object) 方法)。 |
29 | abstract JsonGenerator setFeatureMask(int mask) - 用于(重新)设置所有标准 JsonGenerator.Features 状态的批量设置方法 |
30 | JsonGenerator setHighestNonEscapedChar(int charCode) - 可用于请求生成器转义所有高于指定代码点的字符代码(如果值为正);或者,除了必须为数据格式转义的字符外,不转义任何字符(如果为 -1)。 |
31 | JsonGenerator setPrettyPrinter(PrettyPrinter pp) - 用于设置自定义漂亮打印程序的方法,通常用于添加缩进以提高人类可读性。 |
32 | JsonGenerator setRootValueSeparator(SerializableString sep) - 用于覆盖用于分隔根级 JSON 值的字符串的方法(默认为单个空格字符) |
33 | void setSchema(FormatSchema schema) - 用于使此生成器使用指定模式的方法。 |
33 | abstract JsonGenerator useDefaultPrettyPrinter() - 用于使用默认漂亮打印程序 (DefaultPrettyPrinter) 启用漂亮打印的便捷方法。 |
34 | abstract Version version() - 用于查找提供此生成器实例的包的版本的访问器。 |
35 | void writeArrayFieldStart(String fieldName) - 用于输出字段条目(“成员”(将包含 JSON 数组值))和 START_ARRAY 标记的便捷方法。 |
36 | abstract void writeBinary(Base64Variant b64variant, byte[] data, int offset, int len) - 将给定的二进制数据块作为 base64 编码输出为完整字符串值(用双引号括起来)的方法。 |
37 | abstract int writeBinary(Base64Variant b64variant, InputStream data, int dataLength) - 与 writeBinary(Base64Variant,byte[],int,int) 类似的方法,但输入是通过流提供的,允许增量写入而无需将整个输入保存在内存中。 |
38 | void writeBinary(byte[] data) - 与 writeBinary(Base64Variant,byte[],int,int) 类似,但假设默认使用 Jackson 默认 Base64 变体(即 Base64Variants.MIME_NO_LINEFEEDS)。 |
39 | void writeBinary(byte[] data, int offset, int len) - 与 writeBinary(Base64Variant,byte[],int,int) 类似,但默认为使用 Jackson 默认 Base64 变体(即 Base64Variants.MIME_NO_LINEFEEDS)。 |
40 | int writeBinary(InputStream data, int dataLength) - 与 writeBinary(Base64Variant,InputStream,int) 类似,但假设默认使用 Jackson 默认 Base64 变体(即 Base64Variants.MIME_NO_LINEFEEDS)。 |
41 | void writeBinaryField(String fieldName, byte[] data) - 用于输出包含以 base64 编码形式指定的字段条目(“成员”)的便捷方法。 |
42 | abstract void writeBoolean(boolean state) - 用于输出文字 Json 布尔值('true' 和 'false' 字符串之一)的方法。 |
43 | void writeBooleanField(String fieldName, boolean value) - 用于输出具有布尔值的字段条目(“成员”)的便捷方法。 |
44 | abstract void writeEndArray() - 用于写入 JSON 数组值的结束标记(字符 ']';如果启用了漂亮打印,则可能包含空格修饰)的方法。 |
45 | abstract void writeEndObject() - 用于写入 JSON 对象值的结束标记(字符 '}';如果启用了漂亮打印,则可能包含空格修饰)的方法。 |
46 | abstract void writeFieldName(SerializableString name) - 与 writeFieldName(String) 类似的方法,主要区别在于它可能性能更好,因为某些处理(例如某些字符的引用或编码到外部编码(如果生成器支持))可以只执行一次并重复用于后面的调用。 |
47 | abstract void writeFieldName(String name) - 用于写入字段名称(用双引号括起来的 JSON 字符串:在语法上与 JSON 字符串值相同)的方法,如果启用了漂亮打印,则可能由空格修饰。 |
48 | abstract void writeNull() - 用于输出文字 Json null 值的方法。 |
49 | void writeNullField(String fieldName) - 用于输出具有 JSON 文字值 null 的字段条目(“成员”)的便捷方法。 |
50 | abstract void writeNumber(BigDecimal dec) - 用于输出指示 Json 数值的方法。 |
51 | abstract void writeNumber(BigInteger v) - 用于将给定值作为 Json 数字输出的方法。 |
52 | abstract void writeNumber(double d) - 用于输出指示 Json 数值的方法。 |
53 | abstract void writeNumber(float f) - 用于输出指示 Json 数值的方法。 |
54 | abstract void writeNumber(int v) - 用于将给定值作为 Json 数字输出的方法。 |
55 | abstract void writeNumber(long v) - 用于将给定值作为 Json 数字输出的方法。 |
56 | void writeNumber(short v) - 用于将给定值作为 Json 数字输出的方法。 |
57 | abstract void writeNumber(String encodedValue) - 可用于不能(容易?)转换为“标准”Java 数字类型的自定义数字类型的方法。 |
58 | void writeNumberField(String fieldName, BigDecimal value) - 用于输出具有指定数值的字段条目(“成员”)的便捷方法。 |
59 | void writeNumberField(String fieldName, double value) - 用于输出具有指定数值的字段条目(“成员”)的便捷方法。 |
60 | void writeNumberField(String fieldName, float value) - 用于输出具有指定数值的字段条目(“成员”)的便捷方法。 |
61 | void writeNumberField(String fieldName, int value) - 用于输出具有指定数值的字段条目(“成员”)的便捷方法。 |
62 | void writeNumberField(String fieldName, long value) - 用于输出具有指定数值的字段条目(“成员”)的便捷方法。 |
63 | abstract void writeObject(Object pojo) - 将给定的 Java 对象 (POJO) 作为 Json 写入的方法。 |
64 | void writeObjectField(String fieldName, Object pojo) - 用于输出字段条目(“成员”),其内容为特定 Java 对象的便捷方法。 |
65 | void writeObjectFieldStart(String fieldName) - 用于输出字段条目(“成员”(将包含 JSON 对象值))和 START_OBJECT 标记的便捷方法。 |
66 | void writeObjectId(Object id) - 可调用以输出所谓的原生对象 ID 的方法。 |
67 | void writeObjectRef(Object id) - 可调用以输出对原生对象 ID 的引用的方法。 |
68 | void writeOmittedField(String fieldName) - 用于指示此位置的属性被跳过的调用的方法。 |
69 | abstract void writeRaw(char c) - 此方法将强制生成器逐字复制输入文本,无需修改(包括不进行转义,即使上下文[数组、对象]否则需要这样也一样)。 |
70 | abstract void writeRaw(char[] text, int offset, int len) - 此方法将强制生成器逐字复制输入文本,无需修改(包括不进行转义,即使上下文[数组、对象]否则需要这样也一样)。 |
71 | void writeRaw(SerializableString raw) - 此方法将强制生成器逐字复制输入文本,无需修改(包括不进行转义,即使上下文[数组、对象]否则需要这样也一样)。 |
72 | abstract void writeRaw(String text) - 此方法将强制生成器逐字复制输入文本,无需修改(包括不进行转义,即使上下文[数组、对象]否则需要这样也一样)。 |
73 | abstract void writeRaw(String text, int offset, int len) - 此方法将强制生成器逐字复制输入文本,无需修改(包括不进行转义,即使上下文[数组、对象]否则需要这样也一样)。 |
74 | abstract void writeRawUTF8String(byte[] text, int offset, int length) - 与 writeString(String) 方法类似,但它以 UTF-8 编码的字符串作为输入,该字符串将按原样输出,无需额外转义(类型取决于数据格式;JSON 为反斜杠转义)。 |
75 | abstract void writeRawValue(char[] text, int offset, int len) |
76 | abstract void writeRawValue(String text) - 此方法将强制生成器逐字复制输入文本,无需任何修改,但假设它必须构成单个合法的 JSON 值(数字、字符串、布尔值、null、数组或列表)。 |
77 | abstract void writeRawValue(String text, int offset, int len) |
78 | abstract void writeStartArray() - 用于写入 JSON 数组值的起始标记(字符“[”;如果启用了漂亮打印,则可能包含可能的空格装饰)。 |
79 | abstract void writeStartObject() - 用于写入 JSON 对象值的起始标记(字符“{”;如果启用了漂亮打印,则可能包含可能的空格装饰)。 |
80 | abstract void writeString(char[] text, int offset, int len) - 用于输出字符串值的方法。 |
81 | abstract void writeString(SerializableString text) - 与 writeString(String) 方法类似,但它采用 SerializableString,这可能会使调用效率更高,因为生成器可能能够重用已引用和/或已编码的表示。 |
82 | abstract void writeString(String text) - 用于输出字符串值的方法。 |
83 | void writeStringField(String fieldName, String value) - 用于输出字段条目(“成员”),其值为字符串的便捷方法。 |
84 | abstract void writeTree(TreeNode rootNode) - 使用此生成器写入给定的 JSON 树(表示为给定 JsonNode 为根的树)的方法。 |
85 | void writeTypeId(Object id) - 可调用以输出所谓的原生类型 ID 的方法。 |
86 | abstract void writeUTF8String(byte[] text, int offset, int length) - 与 writeString(String) 方法类似,但它以 UTF-8 编码的字符串作为输入,该字符串尚未使用数据格式所需的任何转义方案进行转义(对于 JSON,这是控制字符和双引号的反斜杠转义;对于其他格式,则是其他内容)。 |
继承的方法
此类继承自以下类的方法
java.lang.Object
广告