Чтение файлов YAML во Flutter - PullRequest
1 голос
/ 20 июня 2020

пакет yaml 2.2.1 помогает пользователям Flutter читать файлы YAML. К сожалению, документация меня не просветляет.

import 'dart:convert';
import 'package:yaml/yaml.dart';

main() {
  // load a YAML file
  var doc = loadYaml("YAML: YAML Ain't Markup Language");
  print(doc['YAML']);

  // Encode a YAML file
  print(json.encode(doc));
}

Я поместил файл YAML в папку

assets/yamlfiles/yamltoberead.yml

и написал необходимые строки в файле pubspe c .yaml.

Полагаю, мне нужно изменить строку «YAML: YAML Ain't ...» на относительный путь к файлу yamltoberead.yml, но это вызывает ошибки

type 'String' is not a subtype of type 'int' of 'index'

Есть ли другой способ чтения файлов YAML или как исправить ошибку?

1 Ответ

1 голос
/ 18 июля 2020

Вместо того, чтобы изменять "YAML: YAML Ain't Markup Language" на путь к вашему файлу yaml, сначала загрузите строковую версию файла yaml, а затем преобразуйте ее в карту с помощью пакета yaml. Это пример (вам нужно будет импортировать flutter / services.dart):

import "package:flutter/services.dart as s";
import "package:yaml/yaml.dart";

final data = await s.rootBundle.loadString('assets/yamlToRead.yaml');
final mapData = loadYaml(data);
print(mapData);

будет напечатана карта, содержащая ваши данные yaml.

...