json - 将json转换为飞镖
问题描述
我是 Flutter 的初学者,我只想知道如何在控制台中打印 productA 和 220。下面是 json 文件,并在下面创建 dart 文件。
{
"status": true,
"message": "Data returned successfull",
"data": {
"products": [
{
"productName": "productA",
"productPrice": "220.00",
}
]
}
}
产品.dart
class Product {
bool status;
String message;
Data data;
Product({this.status, this.message, this.data});
Product.fromJson(Map<String, dynamic> json) {
status = json['status'];
message = json['message'];
data = json['data'] != null ? new Data.fromJson(json['data']) : null;
}
}
class Data {
List<Products> products;
Data({this.products});
Data.fromJson(Map<String, dynamic> json) {
if (json['products'] != null) {
products = new List<Products>();
json['products'].forEach((v) {
products.add(new Products.fromJson(v));
});
}
}
}
class Products {
String prodName;
String prodRkPrice;
Products({this.prodName, this.prodRkPrice});
Products.fromJson(Map<String, dynamic> json) {
prodName = json['prodName'];
prodRkPrice = json['prodRkPrice'];
}
}
但仍然不知道如何打印这些值。
fetchData() async {
try {
String extractedData =
await http.get('json url').toString();
final parsed = jsonDecode(extractedData).cast(Map<String, dynamic>());
final products = Product.fromJson(parsed);
print(products);
//print(json.decode(response.body));
//print(response[0]);
} catch (error) {
throw (error);
}
}
我曾尝试使用此方法,但出现错误,不知道如何解析和打印这些值?请帮助我,我是 Flutter 的初学者
解决方案
这应该有效:
Map<String, dynamic> message = jsonDecode('{"status": true,"message": "Data returned successfull","data": {"products": [{"productName": "productA","productPrice": "220.00"}]}}');
print(message["data"]["products"][0]["productName"]);
你得到什么错误?
推荐阅读
- jquery - momentjs 中的时隙范围为 false
- apache-flink - Flink Checkpoint failed - 缺少子任务响应
- c# - 尝试在自定义 c# 窗口类中实现 WinApi 时如何修复 Windows 错误 1407(找不到窗口类)?
- javascript - How to get KeyCode from Android using event handlers?
- android - ConstraintLayout Ratio binding has width but not height
- struct - Unpacking structure to l-value tuple in Rust
- c# - FluentFTP 连接在本地计算机上有效,但在 Windows 2019 服务器上无效
- r - Generating distinct groups of nodes in a network
- python - TypeError:“int”和“Label”的实例之间不支持“>”
- go - 如何构建 Kubernetes 以便调试信息包含在可执行文件中?