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.

Inheritance

Constructors

JsonDecoder([Object? reviver(Object? key, Object? value)?])
Constructs a new JsonDecoder.
const

Properties

hashCode int
The hash code for this object.
read-onlyinherited
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited

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 with other.
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