Изменить данные JSON на группу массивов во флаттере - PullRequest
0 голосов
/ 13 июня 2019

У меня есть некоторые данные JSON, как показано ниже:

[{"KD": "1", "NAME": "Имя 1", "JENIS": "GROUP 1"}, {"KD": "2", "ИМЯ": "Имя 2", "ДЖЕНИС": "ГРУППА 1"}, {"КД": "3", "ИМЯ": "Имя 3", "ДЖЕНИС": "ГРУППА 2"}, {"KD": "4", "NAME": "Name 4", "JENIS": "GROUP 2"}]

Как изменить группу массива следующим образом Мой ожидаемый результат:

array (size=2)
  'GROUP 1' => 
    array (size=2)
      0 => 
        array (size=3)
          'KD' => string '1' (length=1)
          'NAME' => string 'Name 1' (length=6)
          'JENIS' => string 'GROUP 1' (length=7)
      1 => 
        array (size=3)
          'KD' => string '2' (length=1)
          'NAME' => string 'Name 2' (length=6)
          'JENIS' => string 'GROUP 1' (length=7)
  'GROUP 2' => 
    array (size=2)
      0 => 
        array (size=3)
          'KD' => string '3' (length=1)
          'NAME' => string 'Name 3' (length=6)
          'JENIS' => string 'GROUP 2' (length=7)
      1 => 
        array (size=3)
          'KD' => string '4' (length=1)
          'NAME' => string 'Name 4' (length=6)
          'JENIS' => string 'GROUP 2' (length=7)

Я пробовал что-то подобное, но оно того не стоит:

if (response.statusCode == 201) {
      var jsonResponse = json.decode(response.body);
      List data = jsonResponse['data']['hasil']['result'];
      setState(() {
        Map<String, dynamic> dataJSON = Map<String, dynamic>();
        for (var x = 0; x < data.length; x++) {
          dataJSON[data[x]["JENIS"]][]=data[x];
        }
        print(dataJSON);
      });
    }

Но оно того не стоит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...