как сохранить список данных в переменную в flutter dart

#list #flutter #variables #dart #save

#Список #flutter #переменные #dart #Сохранить

Вопрос:

 var users = [
{id :3,name : adel,description: agent},{ id :4,name : anu,description: Manager,},
{id:5,name:arun,description:poen}
]
 

здесь я хочу сохранить каждый объект json в отдельной переменной, чтобы я мог легко получить к нему доступ, как это сделать

 for (int i =0; i<users.length;i  )
{
 var descrip = users[i]['description'];
}
 

когда я использую этот описанный выше метод цикла, переменная сохраняет только последние данные в списке, я новичок в flutter, кто-нибудь знает, как сохранить эти данные в переменную, пожалуйста, помогите мне

Комментарии:

1. Вы имеете в виду, что вам нужен полный список всех описаний?

2. Причина, по которой вы получаете только последние данные, заключается в том, что var descrip это единственное значение, а не тип array, в котором вы должны сохранять значения, если хотите сохранить в нем все описание. Вам нужно будет определить var descrip = new List(users.length) и добавить значение с помощью descrip.add(users[i]['description'])

3. @sajith lakmal да, отдельный список описания, и он сохраняет это в переменной descrip

4. @BelleZaid я проверил это, но оно показывает ошибку » Необработанное исключение: неподдерживаемая операция: невозможно добавить в список фиксированной длины »

5. На самом деле new List() он устарел. Вам лучше использовать [] или List.filled(length, fill)

Ответ №1:

 
final List<String> description = new [];
for(int i = 1;i < users.length; i  ){
  description.add(users[i]['description']);
}

 

Ответ №2:

Как сказала Белль Заид, вы объявили свою переменную descrip внутри своего цикла и перезаписываете ее на каждом шаге. Вот почему вы получаете только свое последнее значение. Сначала вам нужно объявить список вне цикла for, а внутри цикла вы добавляете каждое значение в список.

 final List<String> descrip = [];
for(int i = 0;i < users.length; i  ){
  descrip.add(users[i]['description']);
}
 

Ответ №3:

Попробуйте это

 List<Map<String, dynamic>> usersJson = [
{'id': 3, 'name': 'adel', 'description': 'agent'},
{ 'id': 4, 'name': 'anu', 'description': 'Manager',},
{'id': 5, 'name': 'arun', 'description': 'poen'}

 ];
   

 List<String> descriptions = [];

for (int i =0; i<users.length;i  )
{
 descriptions.add(users[i]['description']);
}
 

Комментарии:

1. Я думаю, вы знаете, в чем была проблема, как сказала Белль Заид.