| JsonFramingObjectScanner Method |
Returns a Flow that implements a "brace counting" based framing stage for emitting valid JSON chunks.
It scans the incoming data stream for valid JSON objects and returns chunks of ByteStrings containing only those valid chunks.
Typical examples of data that one may want to frame using this stage include:
**Very large arrays**:
{{{
[{"id": 1}, {"id": 2}, [...], {"id": 999}]
}}}
**Multiple concatenated JSON objects** (with, or without commas between them):
{{{
{"id": 1}, {"id": 2}, [...], {"id": 999}
}}}
The framing works independently of formatting, i.e. it will still emit valid JSON elements even if two
elements are separated by multiple newlines or other whitespace characters. And of course is insensitive
(and does not impact the emitting frame) to the JSON object's internal formatting.
Namespace:
Akka.Streams.Dsl
Assembly:
Akka.Streams (in Akka.Streams.dll) Version: 1.2.3.129 (1.2.3.129)
Syntax public static Flow<ByteString, ByteString, NotUsed> ObjectScanner(
int maximumObjectLength
)
static member ObjectScanner :
maximumObjectLength : int -> Flow<ByteString, ByteString, NotUsed>
Parameters
- maximumObjectLength
- Type: SystemInt32
The maximum length of allowed frames while decoding. If the maximum length is exceeded this Flow will fail the stream.
Return Value
Type:
FlowByteString,
ByteString,
NotUsedTBD
See Also