如何映射“转换”颤振中的 Json?
我是 flutter 新手,我有 2 个问题:
- 如何访问此 Json 中的数据,例如获取 2 列表中的手机名称
- 如何使用此 Json 使用 Builder 方法构建 ListView,我查看并发现了我必须使用某种库..我不能手动完成吗?
var mblist = [{
'name': 'Note 10',
'camera': '48 MPX',
'ram': '8GB',
'price': '20 000,00 DZD',
'image':
'https://images.frandroid.com/wp-content/uploads/2019/06/samsung-galaxy-note-10-2019-frandroid.png'
}
,
{
'name': 'Note 20',
'camera': '48 MPX',
'ram': '8GB',
'price': '20 000,00 DZD',
'image':
'https://images.frandroid.com/wp-content/uploads/2019/06/samsung-galaxy-note-10-2019-frandroid.png'
}
];
i'm new to flutter i have 2 questions :
- how to access the Data in this Json for example get the name of the phone in the 2 list
- how to use this Json to build a ListView using the Builder method, i looked and found out that i have to use kind of some library .. can't i do it manually ?
var mblist = [{
'name': 'Note 10',
'camera': '48 MPX',
'ram': '8GB',
'price': '20 000,00 DZD',
'image':
'https://images.frandroid.com/wp-content/uploads/2019/06/samsung-galaxy-note-10-2019-frandroid.png'
}
,
{
'name': 'Note 20',
'camera': '48 MPX',
'ram': '8GB',
'price': '20 000,00 DZD',
'image':
'https://images.frandroid.com/wp-content/uploads/2019/06/samsung-galaxy-note-10-2019-frandroid.png'
}
];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
问题1:如何获取手机名称?
第一个电话的名称:
mblist[0]['name']
所有电话的名称列表:
mblist.map((phone) =>phone['name'])。 toList()
问题2:如何使用json列表构建ListView?
在小部件中处理数据的最佳方法通常是使用基于类的模型对象。您可以创建一个类模型,从 json 数据实例化它的一个对象,然后将该对象传递到您的 flutter 小部件中以创建您需要的任何类型的 UI。
例如,您提到的 json 列表的模型可以如下所示:
您可以将列表转换为模型对象列表,如下所示:
之后,您可以像这样创建 ListView:
Question1: how to get the name of the phone?
name of the first phone:
mblist[0]['name']
list of names of all phones:
mblist.map((phone) => phone['name']).toList()
Question2: how to use json list to build a ListView?
The best way to work with data in widgets is usually to use class based model objects. You can create a class model an instantiate an object of it from the json data and pass that object around in your flutter widgets to create any kind of UI you need.
For example the model for that json list you mentioned can be like this:
You can convert your list to a list of Model objects like this:
After that you can create your ListView like this:
在 flutter 中,有包
json_serialized
和build_runner
,它们可以帮助您为 Api 调用和其他 json 对象创建 dart 模型。这将为您的项目减少大量样板代码。
https://pub.dev/packages/json_serialized
https://pub.dev/packages/build_runner
In flutter there to packages
json_serializable
andbuild_runner
which help you to create dart model for a Api call and other json objects.This will reduce ton of boilerplate code for your project.
https://pub.dev/packages/json_serializable
https://pub.dev/packages/build_runner
@Mahdi 的答案是正确的,但这里有一个完整的示例,其中包含 UI 中的所有参数。
完整页面。
@Mahdi's answer is correct but here's a complete example with all parameters in the UI.
Complete page.
我相信 dart:convert 库直接且足以满足您的操作。它将作为标准库出现。
I believe dart:convert library straight forward and enough for your operation.It is coming as a standard library.