#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. Я думаю, вы знаете, в чем была проблема, как сказала Белль Заид.