I need a quick help for the syntax to display JSON data which are in array list format(I guess)
I'm able to display Status & Message but struggling with syntax when I want to display Name Image which are inside Data[]. What syntax I should use to display those data ?
My JSON response
{
"Status": "1",
"Message": "3 records found.",
"Data": [
{
"Name": "Brain surgery",
"EncId": "B909+U0FIAHIs+sl3IYTvQ==",
"Image": "",
"Extra1": "abdsjh dsgjhgdd gsjjkdkds dddsjkhdj djdjkdh dshjdkhkd dhdhdk sjkghdjkdhkhd dhkdkhdkjhd hkjhkdhd kdjkdjdkjd dhkdkjhdjh ddkdkhd dhdhhd . dgjgdjd dgdgjds",
"Extra2": "",
"ResultFor": "p6r4bAAI4ybdJySoV+PqGQ=="
},
{
"Name": "Dr Ram Das",
"EncId": "fXVmzecGStqrhx1PmIgwlQ==",
"Image": "http://medbo.digitalicon.in/Doctor/U7MK2MZGD0QVQ7E8IR7N.jpg",
"Extra1": "ENT",
"Extra2": "kj",
"ResultFor": "xPCleDOirQpArdOv0uUR9g=="
},
{
"Name": "Kidney Routine Test with Sonography and Serology.",
"EncId": "U4exk+vfMGrn7cjNUa/PBw==",
"Image": "",
"Extra1": "",
"Extra2": "",
"ResultFor": "aZsjjLg3WIBbTg05/15o2w=="
}
]
}
My model class
class SearchApiResponse {
SearchApiResponse({
required this.status,
required this.message,
required this.data,
});
String status;
String message;
List<SearchData> data;
factory SearchApiResponse.fromJson(Map<String, dynamic> json) => SearchApiResponse(
status: json["Status"],
message: json["Message"],
data: List<SearchData>.from(json["Data"].map((x) => SearchData.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"Status": status,
"Message": message,
"Data": List<dynamic>.from(data.map((x) => x.toJson())),
};
}
class SearchData {
SearchData({
required this.name,
required this.encId,
required this.image,
required this.extra1,
required this.extra2,
required this.resultFor,
});
String name;
String encId;
String image;
String extra1;
String extra2;
String resultFor;
factory SearchData.fromJson(Map<String, dynamic> json) => SearchData(
name: json["Name"],
encId: json["EncId"],
image: json["Image"],
extra1: json["Extra1"],
extra2: json["Extra2"],
resultFor: json["ResultFor"],
);
Map<String, dynamic> toJson() => {
"Name": name,
"EncId": encId,
"Image": image,
"Extra1": extra1,
"Extra2": extra2,
"ResultFor": resultFor,
};
}
And Here I can successfully display Status & the message but how to display others which are inside Data[] ?
class AfterSearchPage extends StatefulWidget {
final SearchApiResponse rresponse;
const AfterSearchPage({required this.rresponse});
@override
_AfterSearchPageState createState() => _AfterSearchPageState();
}
class _AfterSearchPageState extends State<AfterSearchPage> {
var responseRef;
// _SecondState(this.responseRef);
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("Status: ${widget.rresponse.status}"),
Text("Message: ${widget.rresponse.message}"),
Text("Name: ${widget.rresponse.data.name}"),//==??????????????????????????????????????Error
SizedBox(
height: 50,
),
OutlinedButton.icon(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Home2(),
),
);
},
icon: Icon(
Icons.exit_to_app,
size: 18,
),
label: Text("GoTo Home")),
],
),
),
),
);
}
}