Класс JsonDecoder
Этот класс разбирает строки JSON и создает соответствующие объекты.
Входные данные JSON должны представлять собой кодирование одного значения JSON, которым может быть список или карта, содержащая другие значения.
Выбрасывает FormatException, если входной текст не является допустимым текстом JSON.
Пример:
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 При использовании в качестве StreamTransformer входной поток может выдавать несколько строк. Конкатенация всех этих строк должна представлять собой допустимое кодирование одного значения JSON.
Конструкторы
- JsonDecoder([Object? reviver(Object? key, Object? value)?]) const
- Создает новый JsonDecoder.
Свойства
- hashCode → int только-чтение унаследовано
- Хеш-код этого объекта.
- runtimeType → Type только-чтение унаследовано
- Представление типа объекта во время выполнения.
Методы
- bind(
Stream< String> stream) → Stream< Object?> переопределен - Преобразует предоставленный
stream. - cast<
RS, RT>( ) → Converter< RS, RT> унаследован - Предоставляет
Converter<RS, RT>-представление этого преобразователя потока. - convert(
String input) → dynamic переопределен - Преобразует заданный
inputJSON-строки в соответствующий объект. - fuse<
TT>( Converter< Object?, TT> other) → Converter< String, TT> унаследован - Объединяет
thisсother. - noSuchMethod(
Invocation invocation) → dynamic унаследован - Вызывается при обращении к несуществующему методу или свойству.
- startChunkedConversion(
Sink< Object?> sink) → StringConversionSink переопределен - Начинает преобразование фрагментированной строки JSON в соответствующий объект.
- toString(
) → String унаследован - Строковое представление этого объекта.
Операторы
- operator ==(
Object other) → bool унаследован - Оператор равенства.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-convert/JsonDecoder-class.html