JsonGenerator
优质
小牛编辑
132浏览
2023-12-01
介绍 (Introduction)
JsonGenerator是定义类的基类,该类定义用于编写JSON内容的公共API。 使用JsonFactory实例的工厂方法创建实例。
类声明
以下是com.fasterxml.jackson.core.JsonGenerator类的声明:
public abstract class JsonGenerator
extends Object
implements Closeable, Flushable, Versioned
嵌套类 (Nested Classes)
SN | 类和描述 |
---|---|
1 | static class JsonGenerator.Feature枚举,定义生成器的所有可切换功能。 |
字段 (Fields)
protected PrettyPrinter _cfgPrettyPrinter - 在输出期间处理漂亮打印(通常是额外的空格以使结果更易于阅读)的对象。
构造函数 (Constructors)
SN | 构造函数和描述 |
---|---|
1 | protected JsonGenerator()默认构造函数 |
Class Methods
SN | 方法和描述 |
---|---|
1 | protected void _reportError(String msg) - 用于构造和抛出给定基本消息的JsonGenerationException的Helper方法。 |
2 | protected void _reportUnsupportedOperation() |
3 | protected void _throwInternal() |
4 | protected void _writeSimpleObject(Object value) - 尝试为给定的无类型Object调用适当的write方法的Helper方法。 |
5 | boolean canOmitFields() - 调用的Introspection方法,检查是否可以省略Object字段的写入。 |
6 | boolean canUseSchema(FormatSchema schema) - 可用于验证给定模式是否可与此生成器一起使用的方法(使用setSchema(com.fasterxml.jackson.core.FormatSchema))。 |
7 | boolean canWriteBinaryNatively() - 可以调用的内省方法,以查看底层数据格式是否支持“本机”二进制数据; 也就是说,没有编码的二进制内容的有效输出。 |
8 | boolean canWriteObjectId() - 可以被调用以查看底层数据格式是否本身支持某种Object Ids的Introspection方法(很多都没有;例如,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) - Method for disabling specified features (check JsonGenerator.Feature for list of features) |
15 | abstract JsonGenerator enable(JsonGenerator.Feature f) - 启用指定解析器功能的方法:检查JsonGenerator.Feature以获取可用功能列表。 |
16 | abstract void flush() - 调用将任何缓冲内容刷新到底层目标(输出流,编写器)以及刷新目标本身的方法。 |
17 | CharacterEscapes getCharacterEscapes() - 访问自定义转义的工厂方法,用于它创建的JsonGenerators。 |
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() - 访问此解析器使用的Schema的方法FormatSchema getSchema()如果有)。 |
25 | abstract boolean isClosed() - 可以调用以确定此生成器是否已关闭的方法。 |
26 | abstract boolean isEnabled(JsonGenerator.Feature f) - 检查是否启用给定功能的方法。 |
27 | JsonGenerator setCharacterEscapes(CharacterEscapes esc) - 用于为其创建的JsonGenerators定义工厂使用的自定义转义的方法。 |
28 | abstract JsonGenerator setCodec(ObjectCodec oc) - 可以调用以设置或重置用于将Java对象编写为JsonContent的对象的方法(使用方法writeObject(java.lang.Object))。 |
29 | abstract JsonGenerator setFeatureMask(int mask) -Bulk set方法,用于(重新)设置所有标准JsonGenerator.Features的状态 |
30 | JsonGenerator setHighestNonEscapedChar(int charCode) - Method that can be called to request that generator escapes all character codes above specified code point (if positive value); or, to not escape any characters except for ones that must be escaped for the data format (if -1). |
31 | JsonGenerator setPrettyPrinter(PrettyPrinter pp) - 设置自定义漂亮打印机的方法,通常用于添加缩进以提高人类可读性。 |
32 | JsonGenerator setRootValueSeparator(SerializableString sep) - 允许覆盖用于分隔根级JSON值的String的方法(默认为单个空格字符) |
33 | void setSchema(FormatSchema schema) - 调用以使此生成器使用指定模式的方法。 |
33 | abstract JsonGenerator useDefaultPrettyPrinter() - 使用默认漂亮打印机(DefaultPrettyPrinter)启用漂亮打印的便捷方法。 |
34 | abstract Version version() - 用于查找提供此生成器实例的bundle的版本的访问器。 |
35 | void writeArrayFieldStart(String fieldName) - 输出字段条目(“成员”)(包含JSON数组值)和START_ARRAY标记的便捷方法。 |
36 | abstract void writeBinary(Base64Variant b64variant, byte[] data, int offset, int len) - 将给定的二进制数据块作为base64编码输出的方法,作为完整的String值(由双引号括起)。 |
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编码形式的指定数据的字段条目(“member”)的便捷方法。 |
42 | abstract void writeBoolean(boolean state) - 输出文字Json布尔值的方法(字符串'true'和'false'之一)。 |
43 | void writeBooleanField(String fieldName, boolean value) - 输出具有void writeBooleanField(String fieldName, boolean value)的字段条目(“member”)的便捷方法。 |
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的字段条目(“member”)的便捷方法。 |
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) - 用于输出具有指定数值的字段条目(“member”)的便捷方法。 |
59 | void writeNumberField(String fieldName, double value) - 输出具有指定数值的字段条目(“member”)的便捷方法。 |
60 | void writeNumberField(String fieldName, float value) - 输出具有指定数值的字段条目(“member”)的便捷方法。 |
61 | void writeNumberField(String fieldName, int value) - 输出具有指定数值的字段条目(“member”)的便捷方法。 |
62 | void writeNumberField(String fieldName, long value) - 输出具有指定数值的字段条目(“member”)的便捷方法。 |
63 | abstract void writeObject(Object pojo) - 将给定Java对象(POJO)编写为Json的方法。 |
64 | void writeObjectField(String fieldName, Object pojo) - 用于输出具有特定Java对象的内容作为其值的字段条目(“member”)的便捷方法。 |
65 | void writeObjectFieldStart(String fieldName) - 输出字段条目(“成员”)(包含JSON对象值)和START_OBJECT标记的便捷方法。 |
66 | void writeObjectId(Object id) - 可以调用以输出所谓的本机Object Id的方法。 |
67 | void writeObjectRef(Object id) - 可以调用以输出对本机Object ID的引用的方法。 |
68 | void writeOmittedField(String fieldName) Method called to indicate that a property in this position was skipped. |
69 | abstract void writeRaw(char c) - 强制生成器逐字复制输入文本而不进行任何修改的方法(包括没有进行转义,也不添加分隔符,即使context [array,object]需要这样做)。 |
70 | abstract void writeRaw(char[] text, int offset, int len) - 强制生成器逐字复制输入文本而不进行任何修改的方法(包括没有进行转义并且即使上下文[array,object]也没有添加分隔符)否则需要这样)。 |
71 | void writeRaw(SerializableString raw) - 强制生成器逐字复制输入文本而不进行任何修改的方法(包括没有进行转义,也不添加分隔符,即使context [array,object]需要这样做)。 |
72 | abstract void writeRaw(String text) - 强制生成器逐字复制输入文本而不进行任何修改的方法(包括没有进行转义,也不添加分隔符,即使context [array,object]需要这样做)。 |
73 | abstract void writeRaw(String text, int offset, int len) - 强制生成器逐字复制输入文本而不进行任何修改的方法(包括不进行转义并且不添加分隔符,即使context [array,object]需要这样)。 |
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值(数字,字符串,布尔值,空值,数组或列表)。 |
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) - 输出String值的方法。 |
81 | abstract void writeString(SerializableString text) - 类似于writeString(String)的方法,但是采用SerializableString,这可以使得调用生成器可能更有效,可以重用引用和/或编码的表示。 |
82 | abstract void writeString(String text) - 输出String值的方法。 |
83 | void writeStringField(String fieldName, String value) - 输出具有void writeStringField(String fieldName, String value)的字段条目(“member”)的便捷方法。 |
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