#json #flutter #dart #model #flutter-layout
#json #трепетать #дротик #Модель #flutter-layout #flutter #dart
Вопрос:
У меня есть данные json, для анализа которых я использовал веб-сайт (это сайт:https://javiercbk.github.io/json_to_dart / ) но я получил сообщение об ошибке, что модель была неправильной, и это потому, что мои данные json содержат список, в котором есть список, а в этом списке другой список, содержащий ключи и их значения, но в этом списке есть ключ, который равен null..Я поместил данные json ниже для лучшего понимания..Мой вопрос таков: «есть ли какой-либо способ, которым я могу создать модель и пропустить нулевой ключ и работать с другими доступными ключами и значениями?»
{
"result": {
"newsfeed": [
[
null,
{
"author": "5f177c2139e3390017e71c70",
"userTag": "",
"text": "try this one",
"video": "",
"image": "",
"createdAt": "Wed Sep 16 2020 09:28:00 GMT 0000 (Coordinated Universal Time)",
"name": "",
"campus": ""
}
],
[
null,
{
"author": "5f177d2739e3390017e71c71",
"userTag": "bigjo",
"text": "yooooo",
"video": "",
"image": "",
"createdAt": "Wed Sep 16 2020 09:28:00 GMT 0000 (Coordinated Universal Time)",
"name": "",
"campus": "Bells University Of Technology"
}
]
]
}
}
Ответ №1:
Ну, вы можете присвоить ему какое-то другое значение вместо null.
x['result']['newsfeed'].forEach((element){
element[0] = element[1]; //or any other object
}
Хотя это может быть не лучшим способом сделать это.
Комментарии:
1. Хорошо, я попробую это
Ответ №2:
У меня тоже только что были такие проблемы. Вы можете использовать QuickType для генерации кода сопоставления на основе входных данных JSON. Я использую factory для декодирования JSON, а для необязательных значений строка будет выглядеть примерно так
taskPic: parsedJson["taskPic"] == null ? null : parsedJson['taskPic'],
Комментарии:
1. Спасибо за это, я использовал Quicktype io для создания модели раньше, но когда пришло время отображать данные моментального снимка, я столкнулся с проблемой, отображающей другие элементы в моментальном снимке (я имею в виду snapshot.data.result.newsfeed[index].name выдает ошибку в .name)… Я также попробую использовать ваш вариант