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.new ([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