I have this const variable in flutter:
static const questions = [
{
"question": "question",
"answers": ["1", "2"],
"message":
"message",
},
]
how to access to "1" from dart??
I try using QuestionContent.questions[0]["answers"][0].
But I got error "The method '[]' can't be unconditionally invoked because the receiver can be 'null'"
CodePudding user response:
Try use:
Text((QuestionContent.questions[0] as Map<String, dynamic>)['answers'][0] ?? '')
or:
Text((questions[0]['answers'] as List<String>)[0]),
CodePudding user response:
Try code below:
const questions = [
{
"question": "question",
"answers": ["1", "2"],
"message":
"message",
},
];
Map<String, Object> question = questions[0];
List<String> answers = question["answers"] as List<String>;
String firstAnswer = answers.elementAt(0);
The reason you get the error is the compiler could not tell whether your QuestionContent.questions[0]["answers"]
is null or not: