Класс JsonDecoder
Этот класс парсит JSON-строки и создаёт соответствующие объекты.
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-кодированием одного JSON-значения.
Конструкторы
-
JsonDecoder([Object? reviver(Object? key, Object? value)?])
const
- Создаёт новый JsonDecoder.
Свойства
-
hashCode → int
только для чтения, унаследованное
- Код хэша для этого объекта.
-
runtimeType → Type
только для чтения, унаследованное
- Представление runtime-типа объекта.
Методы
-
bind(
Stream< String> stream) → Stream< Object?> переопределённо - Преобразует предоставленный
stream. -
cast<
RS, RT>( ) → Converter< RS, RT> унаследованное - Обеспечивает
Converter<RS, RT>представление этого преобразователя потоков. -
convert(
String input) → dynamic переопределённо - Преобразует заданную JSON-строку
inputв соответствующий объект. -
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.18.5/dart-convert/JsonDecoder-class.html