类 Jackson2Tokenizer
java.lang.Object
cn.taketoday.http.codec.json.Jackson2Tokenizer
Function to transform a JSON stream of arbitrary size, byte array
chunks into a Flux<TokenBuffer> where each token buffer is a
well-formed JSON object.- 从以下版本开始:
- 4.0
- 作者:
- Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller
-
字段概要
字段修饰符和类型字段说明private intprivate intprivate final DeserializationContextprivate final booleanprivate final NonBlockingInputFeederprivate final intprivate intprivate final JsonParserprivate TokenBufferprivate final boolean -
构造器概要
构造器限定符构造器说明privateJackson2Tokenizer(JsonParser parser, DeserializationContext deserializationContext, boolean tokenizeArrayElements, boolean forceUseOfBigDecimal, int maxInMemorySize) -
方法概要
修饰符和类型方法说明private voidassertInMemorySize(int currentBufferSize, List<TokenBuffer> result) private TokenBufferprivate reactor.core.publisher.Flux<TokenBuffer>private booleanisTopLevelArrayToken(JsonToken token) private ArrayList<TokenBuffer>private voidprocessTokenArray(JsonToken token, ArrayList<TokenBuffer> result) private voidprocessTokenNormal(JsonToken token, ArrayList<TokenBuffer> result) private voidprivate List<TokenBuffer>tokenize(cn.taketoday.core.io.buffer.DataBuffer dataBuffer) static reactor.core.publisher.Flux<TokenBuffer>tokenize(reactor.core.publisher.Flux<cn.taketoday.core.io.buffer.DataBuffer> dataBuffers, JsonFactory jsonFactory, ObjectMapper objectMapper, boolean tokenizeArrays, boolean forceUseOfBigDecimal, int maxInMemorySize) Tokenize the givenFlux<DataBuffer>intoFlux<TokenBuffer>.private voidupdateDepth(JsonToken token)
-
字段详细资料
-
parser
-
inputFeeder
-
deserializationContext
-
maxInMemorySize
private final int maxInMemorySize -
forceUseOfBigDecimal
private final boolean forceUseOfBigDecimal -
tokenizeArrayElements
private final boolean tokenizeArrayElements -
byteCount
private int byteCount -
arrayDepth
private int arrayDepth -
objectDepth
private int objectDepth -
tokenBuffer
-
-
构造器详细资料
-
Jackson2Tokenizer
private Jackson2Tokenizer(JsonParser parser, DeserializationContext deserializationContext, boolean tokenizeArrayElements, boolean forceUseOfBigDecimal, int maxInMemorySize)
-
-
方法详细资料
-
tokenize
-
endOfInput
-
parseTokenBufferFlux
- 抛出:
IOException
-
updateDepth
-
processTokenNormal
- 抛出:
IOException
-
processTokenArray
- 抛出:
IOException
-
createToken
-
isTopLevelArrayToken
-
assertInMemorySize
-
raiseLimitException
private void raiseLimitException() -
tokenize
public static reactor.core.publisher.Flux<TokenBuffer> tokenize(reactor.core.publisher.Flux<cn.taketoday.core.io.buffer.DataBuffer> dataBuffers, JsonFactory jsonFactory, ObjectMapper objectMapper, boolean tokenizeArrays, boolean forceUseOfBigDecimal, int maxInMemorySize) Tokenize the givenFlux<DataBuffer>intoFlux<TokenBuffer>.- 参数:
dataBuffers- the source data buffersjsonFactory- the factory to useobjectMapper- the current mapper instancetokenizeArrays- iftrueand the "top level" JSON object is an array, each element is returned individually immediately after it is receivedforceUseOfBigDecimal- iftrue, any floating point values encountered in source will useBigDecimalmaxInMemorySize- maximum memory size- 返回:
- the resulting token buffers
-