как в FLutter обработь параметры из ответа от Get-запроса?

Рейтинг: 0Ответов: 1Опубликовано: 31.05.2023

У меня есть функция, где я запрашиваю с сервера изображение для пользователя.

_GetEnrolmentImageForUser({required String nUserId}) async {
  final url = Uri.parse(
      "http://10.0.2.2:123/api/DB/GetImageForUser/" + nUserId);
  final client = HttpClient();
  final request = await client.postUrl(url);

  final response = await http.get(url);
  if (response.statusCode == 200) {
    print(response.body);
    
  } else {
    print('Request failed with status: ${response.statusCode}.');
  }
}

На текущий момент я получаю респонс корректно. Выглядит json так:

{ "sUserImage": "огромная строка", "sErrorMessage": null }

но я не понимаю, как мне в рамках этой функции обработать джейсон чтобы забрать sUserImage.

Единственное что мне пришло в голову, это сделать так, но я уверен, что оно не будет работать (к сожалению, до завтра нет возможности проверить):

String _sUserImage = json.decode(response.body).[sUserImage];

А как будет правильно?

В сети сходу нашёл только такой вариант и такой вариант решения, но считаю его не очень подходящим для моего случая (слишком много кода ради получения одной строки).

Ответы

▲ 0Принят

Сам вопрос задал, сам ответ нашёл: Сначлаа декодируем json, а затем можем получать доступ к элементам:

final jsonData = jsonDecode(response.body);
sUserImage = jsonData['sUserImage'];