Я пытаюсь получить канал JSON из URL-адреса, который работает нормально, за исключением того, что когда я пытаюсь передать данные канала (jsonString) в карту jsonObject с помощью JSON.decode (jsonString), я получаю сообщение об ошибке, что " тип аргумента Future не может быть назначен параметру типа String. " Проблема в том, что я пытаюсь сделать этот запрос сервера одним нажатием кнопки, чтобы загрузить правильное значение для метки времени, необходимое в предыдущем вопросе, который у меня был здесь: Получить значения внутреннего массива JSON. Мне нужна аналогичная функциональность при нажатии кнопки. Целое число currentIndex - это позиция раскрывающегося списка HTML. Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация.

Код Дротика:

@observable int currentIndex = 0;

  dropDownURL = "http://url";
      print(dropDownURL);

 var request = HttpRequest.getString(dropDownURL);
          request.catchError(handleFailure);


  var jsonString = request;
    print(jsonString);

  Map jsonObject = JSON.decode(jsonString) as Map;

  startDate.value = jsonObject["serviceResponseValue"][currentIndex]["filterInputParameters"][currentIndex]["value"];

  print(jsonObject["serviceResponseValue"][currentIndex]["filterInputParameters"][currentIndex]["value"]);

  print(startDate.value);
2
user3757992 14 Авг 2014 в 21:38

1 ответ

Лучший ответ

Я должен оставить поэтому короткий ответ

Эта линия не работает

var jsonString = request;

Поищите здесь в списке [Dart] HttpRequest, и вы найдете множество примеров.

2
Günter Zöchbauer 14 Авг 2014 в 21:41