Jackson - JsonParser 類



介紹

JsonParser 是定義用於讀取 Json 內容的公共 API 的基類。例項是使用 JsonFactory 例項的工廠方法建立的。

類宣告

以下是com.fasterxml.jackson.core.JsonParser類的宣告

public abstract class JsonParser
   extends Object
      implements Closeable, Versioned

巢狀類

序號類和描述
1static class JsonParser.Feature
列舉,定義瞭解析器的所有可切換特性。
2static class JsonParser.NumberType
數字可用的所有“原生”(最優)型別的列舉。

欄位

  • protected int _features - 由指示哪些 JsonParser.Features 啟用的位組成的位標誌。

建構函式

序號建構函式和描述
1protected JsonParser()
預設建構函式
2protected JsonParser(int features)

類方法

序號方法和描述
1protected JsonParseException _constructError(String msg) - 基於解析器的當前狀態構造 JsonParseExceptions 的輔助方法。
2protected void _reportUnsupportedOperation() - 解析器實現不支援的操作的輔助呼叫方法。
3boolean canReadObjectId() - 內省方法,可以呼叫以檢視底層資料格式是否原生支援某種物件 ID(許多不支援;例如,JSON 不支援)。
4boolean canReadTypeId() - 內省方法,可以呼叫以檢視底層資料格式是否原生支援某種型別 ID(許多不支援;例如,JSON 不支援)。
5boolean canUseSchema(FormatSchema schema) - 可用於驗證給定模式是否可與此解析器一起使用(使用 setSchema(com.fasterxml.jackson.core.FormatSchema))的方法。
6abstract void clearCurrentToken() - 用於“使用”當前標記的方法,透過有效地將其刪除,以便 hasCurrentToken() 返回 false,並且 getCurrentToken() 返回 null。
7abstract void close() - 關閉解析器,以便無法進行進一步的迭代或資料訪問;如果解析器擁有輸入源,或者啟用了特性 JsonParser.Feature.AUTO_CLOSE_SOURCE,它還會關閉底層輸入源。
8JsonParser configure(JsonParser.Feature f, boolean state) - 用於啟用或停用指定特性的方法(檢視 JsonParser.Feature 以獲取特性的列表)
9JsonParser disable(JsonParser.Feature f) - 用於停用指定特性的方法(檢視 JsonParser.Feature 以獲取特性的列表)
10JsonParser enable(JsonParser.Feature f) - 用於啟用指定解析器特性的方法(檢視 JsonParser.Feature 以獲取特性的列表)
11abstract BigInteger getBigIntegerValue() - 噹噹前標記的型別為 JsonToken.VALUE_NUMBER_INT 並且由於其大小而無法用作 Java long 基本型別時,可以呼叫的數字訪問器。
12byte[] getBinaryValue() - getBinaryValue(Base64Variant) 的便捷替代方法,預設為使用 Base64Variants.getDefaultVariant() 作為預設編碼。
13abstract byte[] getBinaryValue(Base64Variant b64variant) - 可用於讀取(並使用 - 呼叫後可能無法使用其他方法訪問結果)當前文字 JSON 值中包含的 base64 編碼的二進位制資料的方法。
14boolean getBooleanValue() - 噹噹前標記為 JsonToken.VALUE_TRUE 或 JsonToken.VALUE_FALSE 時可以呼叫的便捷訪問器。
15byte getByteValue() - 噹噹前標記的型別為 JsonToken.VALUE_NUMBER_INT 並且可以表示為 Java byte 基本型別的值時,可以呼叫的數字訪問器。
16abstract ObjectCodec getCodec() - 如果有,訪問與此解析器關聯的 ObjectCodec 的訪問器。
17abstract JsonLocation getCurrentLocation() - 返回上次處理的字元位置的方法;通常用於錯誤報告目的。
18abstract String getCurrentName() - 可用於獲取與當前標記關聯的名稱的方法:對於 JsonToken.FIELD_NAME,它將與 getText() 返回的內容相同;對於欄位值,它將是前面的欄位名稱;對於其他(陣列值、根級值)為 null。
19abstract JsonToken getCurrentToken() - 訪問解析器當前指向的標記(如果有)的訪問器;如果沒有,則返回 null。
20abstract int getCurrentTokenId() - 與 getCurrentToken() 類似的方法,但返回 int 而不是 JsonToken(列舉值)。
21abstract BigDecimal getDecimalValue() - 噹噹前標記的型別為 JsonToken.VALUE_NUMBER_FLOAT 或 JsonToken.VALUE_NUMBER_INT 時,可以呼叫的數字訪問器。
22abstract double getDoubleValue() - 噹噹前標記的型別為 JsonToken.VALUE_NUMBER_FLOAT 並且可以表示為 Java double 基本型別時,可以呼叫的數字訪問器。
23abstract Object getEmbeddedObject() - 如果(且僅當)當前標記為 JsonToken.VALUE_EMBEDDED_OBJECT 時,可以呼叫的訪問器。
24int getFeatureMask() - 獲取所有標準 JsonParser.Features 狀態的批次訪問方法。
25abstract float getFloatValue() - 噹噹前標記的型別為 JsonToken.VALUE_NUMBER_FLOAT 並且可以表示為 Java float 基本型別時,可以呼叫的數字訪問器。
26Object getInputSource() - 可用於訪問用於訪問正在解析的輸入的物件的方法;這通常是 InputStream 或 Reader,具體取決於解析器的構造方式。
27abstract int getIntValue() - 噹噹前標記的型別為 JsonToken.VALUE_NUMBER_INT 並且可以表示為 Java int 基本型別的值時,可以呼叫的數字訪問器。
28abstract JsonToken getLastClearedToken() - 可用於獲取使用 clearCurrentToken() 清除的最後一個標記的方法。
29abstract long getLongValue() - 噹噹前標記的型別為 JsonToken.VALUE_NUMBER_INT 並且可以表示為 Java long 基本型別時,可以呼叫的數字訪問器。
30abstract JsonParser.NumberType getNumberType() - 如果當前標記的型別為 JsonToken.VALUE_NUMBER_INT 或 JsonToken.VALUE_NUMBER_FLOAT,則返回 JsonParser.NumberType 常量之一;否則返回 null。
31abstract Number getNumberValue() - 可用於所有型別數值的通用數字值訪問器方法。
32Object getObjectId() - 可用於檢查當前標記(剛剛讀取的標記)是否具有關聯的物件 ID,如果存在,則返回該 ID 的方法。
33abstract JsonStreamContext getParsingContext() - 可用於訪問讀取器所在的當前解析上下文的方法。
34FormatSchema getSchema() - 用於訪問此解析器使用的模式(如果有)的方法。
35short getShortValue() - 噹噹前標記的型別為 JsonToken.VALUE_NUMBER_INT 並且可以表示為 Java short 基本型別的值時,可以呼叫的數字訪問器。
36abstract String getText() - 用於訪問當前標記的文字表示形式的方法;如果沒有當前標記(在第一次呼叫 nextToken() 之前,或在遇到輸入結束之後),則返回 null。
37abstract char[] getTextCharacters() - 與 getText() 類似的方法,但返回包含文字值的底層(不可修改的)字元陣列,而不是構造一個 String 物件來包含此資訊。
38abstract int getTextLength() - 與 getTextCharacters() 一起使用的訪問器,用於瞭解返回緩衝區中儲存的 String 的長度。
39abstract int getTextOffset() - 與 getTextCharacters() 一起使用的訪問器,用於瞭解緩衝區中第一個文字內容字元的偏移量。
40abstract JsonLocation getTokenLocation() - 返回當前標記的起始位置的方法;即,從輸入開始當前標記的第一個字元的位置。
41Object getTypeId() - 可用於檢查當前標記(剛剛讀取的標記)是否具有關聯的型別 ID,如果存在,則返回該 ID 的方法。
42boolean getValueAsBoolean() - 將嘗試將當前標記的值轉換為布林值的方法。
43boolean getValueAsBoolean(boolean defaultValue) - 將嘗試將當前標記的值轉換為布林值的方法。
44double getValueAsDouble() - 將嘗試將當前標記的值轉換為 Java double 的方法。
45double getValueAsDouble(double defaultValue) - 將嘗試將當前標記的值轉換為 Java double 的方法。
46int getValueAsInt() - 將嘗試將當前標記的值轉換為 int 的方法。
47int getValueAsInt(int defaultValue) - 將嘗試將當前標記的值轉換為 int 的方法。
48long getValueAsLong() - 將嘗試將當前標記的值轉換為 long 的方法。
49long getValueAsLong(long defaultValue) - 將嘗試將當前標記的值轉換為 long 的方法。
50String getValueAsString() - 將嘗試將當前標記的值轉換為 String 的方法。
51abstract String getValueAsString(String defaultValue) - 將嘗試將當前標記的值轉換為 String 的方法。
52abstract boolean hasCurrentToken() - 用於檢查解析器當前是否指向標記(以及該標記的資料是否可用)的方法。
53abstract boolean hasTextCharacters() - 可用於確定呼叫 getTextCharacters() 是否是訪問解析器當前指向的事件的文字內容的最有效方法的方法。
54abstract boolean isClosed() - 可用於確定此解析器是否已關閉的方法。
55boolean isEnabled(JsonParser.Feature f) - 用於檢查是否啟用了指定的 JsonParser.Feature 的方法。
56boolean isExpectedStartArrayToken() - 當期望開始陣列時,可用於驗證當前標記是否指示開始陣列(通常意味著當前標記為 JsonToken.START_ARRAY)的專用訪問器。
57Boolean nextBooleanValue() - 獲取下一個標記(就像呼叫 nextToken() 一樣)的方法,如果它是 JsonToken.VALUE_TRUE 或 JsonToken.VALUE_FALSE,則返回匹配的 Boolean 值;否則返回 null。
58boolean nextFieldName(SerializableString str) - 獲取下一個標記(就像呼叫 nextToken() 一樣)並驗證它是否為具有指定名稱的 JsonToken.FIELD_NAME 並返回該比較結果的方法。
59int nextIntValue(int defaultValue) - 獲取下一個標記(就像呼叫 nextToken() 一樣)的方法,如果它是 JsonToken.VALUE_NUMBER_INT,則返回 32 位 int 值;否則返回指定的預設值 它在功能上等效於
60long nextLongValue(long defaultValue) - 獲取下一個標記(就像呼叫 nextToken() 一樣)的方法,如果它是 JsonToken.VALUE_NUMBER_INT,則返回 64 位 long 值;否則返回指定的預設值 它在功能上等效於
61String nextTextValue() - 獲取下一個標記(就像呼叫 nextToken() 一樣)的方法,如果它是 JsonToken.VALUE_STRING,則返回包含的 String 值;否則返回 null。
62abstract JsonToken nextToken() - 主迭代方法,它將推進流以確定下一個標記(如果有)的型別。
63abstract JsonToken nextValue() - 迭代方法,它將推進流以確定下一個標記的型別,該標記是值型別(包括 JSON 陣列和物件開始/結束標記)。
64abstract void overrideCurrentName(String name) - 可用於更改被視為當前(欄位)名稱的方法。
65int readBinaryValue(Base64Variant b64variant, OutputStream out) - 與 readBinaryValue(OutputStream) 類似,但允許顯式指定要使用的 base64 變體。
66int readBinaryValue(OutputStream out) - 可用作 getBigIntegerValue() 的替代方法,尤其是在值可能很大的情況下。
67<T> T readValueAs(Class<T> valueType) - 將 JSON 內容反序列化為非容器型別(它可以是陣列型別,但是)的方法:通常是 bean、陣列或包裝器型別(如 Boolean)。
68<T> T readValueAs(TypeReference<?> valueTypeRef) - 將JSON內容反序列化為Java型別的方法,該型別的引用作為引數傳遞。
69<T extends TreeNode> T readValueAsTree() - 將JSON內容反序列化為等效的“樹模型”的方法,由生成的模型的根TreeNode表示。
70<T> Iterator<T> readValuesAs(Class<T> valueType) - 用於從解析器流中讀取物件序列的方法,所有物件都具有相同的指定值型別。
71<T> Iterator<T> readValuesAs(TypeReference<?> valueTypeRef) - 用於從解析器流中讀取物件序列的方法,所有物件都具有相同的指定值型別。
72int releaseBuffered(OutputStream out) - 可以呼叫以回退任何已讀取但未被解析器使用的內容的方法。
73int releaseBuffered(Writer w) - 可以呼叫以回退任何已讀取但未被解析器使用的內容的方法。
74boolean requiresCustomCodec() - 可以呼叫以確定是否需要自定義ObjectCodec來繫結使用此工廠構造的JsonParser解析的資料(這通常也意味著JsonGenerator的序列化也是如此)的方法。
75abstract void setCodec(ObjectCodec c) - 設定器,允許定義與此解析器關聯的ObjectCodec(如果存在)。
76JsonParser setFeatureMask(int mask) - 用於(重新)設定所有標準JsonParser.Features狀態的批次設定方法。
77void setSchema(FormatSchema schema) - 呼叫以使此解析器使用指定的模式的方法。
78abstract JsonParser skipChildren() - 如果流指向JsonToken.START_OBJECT或JsonToken.START_ARRAY,則此方法將跳過解析器當前指向的陣列或物件標記的所有子標記。
79abstract Version version() - 用於獲取核心包版本的訪問器,給定一個解析器例項。

繼承的方法

此類繼承自以下類的方法

  • java.lang.Object

廣告

© . All rights reserved.