【发布时间】:2021-12-05 02:02:32
【问题描述】:
你好,我有一个颤振响应,只是一个响应,它给了我来自 api 的产品名称
[
{
"pname":"xyz"
}
]
我想解析并在文本字段上显示 pname 值我尝试了以下方法
Future<ProductsRequest> pnames() async {
var url= 'https:abc.com/api/p';
final response = await http.get(Uri.parse(url)).timeout(Duration(seconds: 105000));
var responseJson = json.decode(response.body);
return responseJson;
}
型号
List<ProductsRequest> productsrequestFromJson(String str) => List<ProductsRequest>.from(json.decode(str).map((x) => ProductsRequest.fromJson(x)));
String productsrequestToJson(List<ProductsRequest> data) => json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
class ProductsRequest {
ProductsRequest({
this.pname,
});
String pname;
factory ProductsRequest.fromJson(Map<String, dynamic> json) => ProductsRequest(
pname: json["pname"],
);
Map<String, dynamic> toJson() => {
"pname": pname,
};
}
然后在我的飞镖课上
new FutureBuilder<ProductsRequest>(
future: pnames(""),
builder: (BuildContext context, snapshot) {....
Widget _pdisplay(ProductsRequest data) {
return Container(
child:Column(
children: [
Text(data.pname.toString()),
],
)
);
它显示一个错误列表动态不是未来的子类型
【问题讨论】:
-
你从来没有使用过 fromJson ......你得到了解码但是,就是这样。等待解码,然后使用你的 fromJson 方法,你应该很好
标签: android json flutter api flutter-web