description

# 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
  - Object
  - Converter<String, Object?>
  - JsonDecoder

## Constructors

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

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## 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