颤振嵌套JSON到listview
我不熟悉flifter,如何将这个JSON对象解析到listview //API响应颤振嵌套JSON到listview,json,object,flutter,Json,Object,Flutter,我不熟悉flifter,如何将这个JSON对象解析到listview //API响应 "code": 200, "message": "OK", "payload": { "items": [ { "package": { "order": { "orderer": "xxxx",
"code": 200,
"message": "OK",
"payload": {
"items": [
{
"package": {
"order": {
"orderer": "xxxx",
"cost": {
"amount": "0.0",
"currency": {
"code": "USD",
"name": "US Dollar",
"symbol": "$"
}
},
"order_number": "212121",
"tracking_code": "833939339",
"store": {
"name": "ABC",
"id": 2,
"created_at": "2019-01-21T16:05:45+00:00"
},
"id": 74,
"created_at": "2019-02-08T11:55:14+00:00"
},
"weight": {
"value": "12.9000",
"unit": {
"name": "Kilogram",
"symbol": "kg",
"base": "1.00000000",
"id": 1
}
},
"length": {
"value": "4.0000",
"unit": {
"name": "Foot",
"symbol": "ft",
"base": "0.30480000",
"id": 7
}
},
"height": {
"value": "34.4000",
"unit": {
"name": "Millimetre",
"symbol": "mm",
"base": "0.00100000",
"id": 4
}
},
"width": {
"value": "98.5600",
"unit": {
"name": "Centimetre",
"symbol": "cm",
"base": "0.01000000",
"id": 2
}
},
"handlings": [
{
"description": "description",
"rate": "0.0200",
"icon": "icon-hazadous",
"id": 1
},
{
"description": "none ",
"rate": "0.0500",
"icon": "icon-none",
"id": 2
}
],
"description": "Item description",
"id": 113,
"created_at": "2019-02-08T11:55:14+00:00"
},
"owner": {
"name": "Jo B",
"phone": "+1",
"blocked": false,
"activated": true,
"id": 98,
"created_at": "2019-01-21T16:05:46+00:00",
"updated_at": "2018-12-21T15:03:41+00:00"
},
"sender": {
"name": "A B C",
"phone": "+1",
"blocked": false,
"activated": true,
"id": 98,
"created_at": "2019-01-21T16:05:46+00:00",
"updated_at": "2018-12-21T15:03:41+00:00"
},
"creator": {
"name": "Jo B",
"phone": "+1",
"blocked": false,
"activated": true,
"id": 98,
"created_at": "2019-01-21T16:05:46+00:00",
"updated_at": "2018-12-21T15:03:41+00:00"
},
"source": {
"contact_name": "Some name",
"contact_phone": "+1",
"name": "Some name",
"longitude": "-0.0",
"latitude": "1.1",
"id": 113,
"created_at": "2019-02-08T11:55:14+00:00"
},
"destination": {
"contact_name": "xxxx",
"contact_phone": "323232232",
"name": "xxx ssss",
"longitude": "-0.0",
"latitude": "1.1",
"id": 113,
"created_at": "2019-02-08T11:55:14+00:00"
},
"fare": {
"amount": "3185.7377",
"currency": {
"code": "USD",
"name": "US Dollar",
"symbol": "$"
}
},
"type": {
"name": "some name",
"code": "01",
"commission": "0.0",
"id": 2,
"created_at": "2019-01-21T16:05:45+00:00"
},
"freight": {
"name": "Land",
"code": "Land",
"id": 1,
"created_at": "2019-01-21T16:05:45+00:00"
},
"status": {
"name": "Pending",
"code": "PENDING",
"id": 1,
"created_at": "2019-01-21T16:05:45+00:00"
},
"payment": {
"method": {
"name": "None",
"code": "None",
"id": 1,
"created_at": "2019-01-21T16:05:46+00:00"
},
"status": {
"name": "Unpaid",
"code": "UNPAID",
"id": 1,
"created_at": "2019-01-21T16:05:46+00:00"
},
"id": 113,
"created_at": "2019-02-08T11:55:14+00:00"
},
"id": 113,`enter code here`
"created_at": "2019-02-08T11:55:14+00:00"
],
"total": 34,
"offset": 34
}
}
颤振异步http请求获取API数据,打印JSON,但我似乎没有从JSON请求创建listview
Future<Null> _fetchData() async {
setState(() {
loading = true;
});
final response =
await http.get("url" , headers: {"someh header": "xxxx"});
if (response.statusCode == 200) {
final data = jsonDecode(response.body);
// request prints here`enter code here`
print(data);
);
}
}
Future\u fetchData()异步{
设置状态(){
加载=真;
});
最后答复=
等待http.get(“url”,头:{“someh头”:“xxxx”});
如果(response.statusCode==200){
最终数据=jsonDecode(response.body);
//请求在此处打印`在此处输入代码`
打印(数据);
);
}
}
退房。我认为它用详细的步骤解释了你问题的解决方案。
让我知道这是否适合你!
我认为博客中针对你的问题的重点应该是JSON结构4:带列表的嵌套结构
通过上述步骤获得需要显示的对象的列表
后,您可以在ListView.builder
中使用此列表在应用程序中显示它们
例如:
showList(List<Your_Model_Class_Name> list) {
return ListView.builder(
shrinkWrap: true,
itemCount: list.length,
itemBuilder: (BuildContext context, int index) {
/*Your widget code goes here instead of the ListTile*/
return ListTile(
title: Text('${list[index].title}'),
);
}
);
}
showList(列表){
返回ListView.builder(
收缩膜:对,
itemCount:list.length,
itemBuilder:(构建上下文,int索引){
/*您的小部件代码位于此处,而不是ListTile*/
返回列表块(
标题:文本(“${list[index].title}”),
);
}
);
}
您可以查看完整的示例。让我知道这是否有帮助 退房。我认为它用详细的步骤解释了你问题的解决方案。
让我知道这是否适合你!
我认为博客中针对你的问题的重点应该是JSON结构4:带列表的嵌套结构
通过上述步骤获得需要显示的对象的列表
后,您可以在ListView.builder
中使用此列表在应用程序中显示它们
例如:
showList(List<Your_Model_Class_Name> list) {
return ListView.builder(
shrinkWrap: true,
itemCount: list.length,
itemBuilder: (BuildContext context, int index) {
/*Your widget code goes here instead of the ListTile*/
return ListTile(
title: Text('${list[index].title}'),
);
}
);
}
showList(列表){
返回ListView.builder(
收缩膜:对,
itemCount:list.length,
itemBuilder:(构建上下文,int索引){
/*您的小部件代码位于此处,而不是ListTile*/
返回列表块(
标题:文本(“${list[index].title}”),
);
}
);
}
您可以查看完整的示例。让我知道这是否有帮助 您没有正确解码
final dynamic data = json.decode(response.body)
现在,当您打印它时,它将显示您想要看到的内容。您没有正确解码
final dynamic data = json.decode(response.body)
现在,当您打印它时,它将显示您想要查看的内容。嘿,欢迎使用SO。您想在listview中具体显示什么?请订购(名称…)、说明、所有者(名称…)、票价、(金额、金额、货币:代码、符号)类型(名称、代码…)、状态(名称和代码)、id和已创建。欢迎使用SO。您想在listview中具体显示什么?请订购(名称…)、说明、所有者(名称…)、票价、(金额、金额、货币:代码、符号)类型(名称、代码…)、状态(名称和代码)、id和已创建的_atThanks@Siddharth Patankar,请说明如何“打包”订单等对象。。。我是个新手。我不清楚你所说的“包”到底是什么意思,但根据我的理解,你可以为每种数据类型设置单独的类,例如,
Orders
可以是一次类,Items
可以是其他类。根据您需要显示的数据,ListView
可以是ListView
或ListView
类型。请帮助我,谢谢@Siddharth Patankar,我如何“打包”订单等对象。。。我是个新手。我不清楚你所说的“包”到底是什么意思,但根据我的理解,你可以为每种数据类型设置单独的类,例如,Orders
可以是一次类,Items
可以是其他类。根据需要显示的数据,ListView
可以是ListView
或ListView
类型。请帮我做这个谢谢@Fellipe,请我是颤振新手谢谢@Fellipe,请我是颤振新手