JsonDecoder class final
This class parses JSON strings and builds the corresponding objects.
A JSON input must be the JSON encoding of a single JSON value, which can be a list or map containing other values.
Throws FormatException if the input is not valid JSON text.
Example:
const JsonDecoder decoder = JsonDecoder();
const String jsonString = '''
{
"data": [{"text": "foo", "value": 1 },
{"text": "bar", "value": 2 }],
"text": "Dart"
}
''';
final Map<String, dynamic> object = decoder.convert(jsonString);
final item = object['data'][0];
print(item['text']); // foo
print(item['value']); // 1
print(object['text']); // Dart
When used as a StreamTransformer, the input stream may emit multiple strings. The concatenation of all of these strings must be a valid JSON encoding of a single JSON value.
Constructors
- JsonDecoder([Object? reviver(Object? key, Object? value)?])
-
Constructs a new JsonDecoder.
const
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
bind(
Stream< String> stream) → Stream<Object?> -
Transforms the provided
stream
.override -
cast<
RS, RT> () → Converter< RS, RT> -
Provides a
Converter<RS, RT>
view of this stream transformer.inherited -
convert(
String input) → dynamic -
Converts the given JSON-string
input
to its corresponding object.override -
fuse<
TT> (Converter< Object?, TT> other) → Converter<String, TT> -
Fuses
this
withother
.inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
startChunkedConversion(
Sink< Object?> sink) → StringConversionSink -
Starts a conversion from a chunked JSON string to its corresponding object.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited