"roleList": [ { "roleName": "测试角色1", "roleNo": "111" }, { "roleName": "测试角色2", "roleNo": "222" } ], 用flutter语言,获取roleNo,并添加到新的list中
时间: 2023-09-15 11:04:52 浏览: 39
### 回答1:
可以使用以下代码来实现:
```dart
List<Map<String, dynamic>> roleList = [
{"roleName": "测试角色1", "roleNo": "111"},
{"roleName": "测试角色2", "roleNo": "222"}
];
List<String> roleNoList = [];
for (var role in roleList) {
roleNoList.add(role['roleNo']);
}
print(roleNoList); // 输出:[111, 222]
```
这里先定义了一个包含角色信息的列表 `roleList`,然后通过循环遍历这个列表,将每个角色的 `roleNo` 添加到新的列表 `roleNoList` 中。最后输出 `roleNoList` 中的内容,即 `[111, 222]`。
### 回答2:
在Flutter中,可以通过以下步骤获取并添加"roleNo"到新的列表中:
1. 首先,你需要将给定的JSON数据转换为一个Map对象,以便在Flutter中处理:
```
String json = '''
{
"roleList": [
{ "roleName": "测试角色1", "roleNo": "111" },
{ "roleName": "测试角色2", "roleNo": "222" }
]
}
''';
Map<String, dynamic> data = jsonDecode(json);
```
2. 接下来,你可以使用该Map对象提取"roleList"中的内容:
```
List<Map<String, dynamic>> roleList = List<Map<String, dynamic>>.from(data['roleList']);
```
3. 创建一个新的List,用于存储提取出的"roleNo"数据:
```
List<String> roleNoList = [];
```
4. 遍历roleList并提取每个对象中的"roleNo"值,将其添加到roleNoList中:
```
for (int i = 0; i < roleList.length; i++) {
String roleNo = roleList[i]['roleNo'];
roleNoList.add(roleNo);
}
```
完整代码如下:
```
import 'dart:convert';
void main() {
String json = '''
{
"roleList": [
{ "roleName": "测试角色1", "roleNo": "111" },
{ "roleName": "测试角色2", "roleNo": "222" }
]
}
''';
Map<String, dynamic> data = jsonDecode(json);
List<Map<String, dynamic>> roleList = List<Map<String, dynamic>>.from(data['roleList']);
List<String> roleNoList = [];
for (int i = 0; i < roleList.length; i++) {
String roleNo = roleList[i]['roleNo'];
roleNoList.add(roleNo);
}
print(roleNoList); // 控制台输出结果为:[111, 222]
}
```
通过以上步骤,我们可以获取"roleNo"的值,并将其添加到新的列表中。
### 回答3:
在Flutter中,可以通过使用json.decode()方法将给定的字符串转换为JSON对象,然后使用该对象的属性来获取"roleNo"的值。然后将每个"roleNo"添加到一个新的列表中。
首先,需要将给定的字符串转换为JSON对象:
```dart
import 'dart:convert';
String jsonString = '''
{
"roleList": [
{
"roleName": "测试角色1",
"roleNo": "111"
},
{
"roleName": "测试角色2",
"roleNo": "222"
}
]
}
''';
var jsonObject = json.decode(jsonString);
```
然后,在获取到JSON对象后,我们可以使用map()方法来遍历"roleList"列表,并将"roleNo"添加到新的列表中:
```dart
List<String> roleNoList = [];
List<dynamic> roles = jsonObject['roleList'];
roles.map((role) => roleNoList.add(role['roleNo']));
```
现在,新的列表`roleNoList`包含了所有的"roleNo"值。
完整的Flutter代码如下:
```dart
import 'dart:convert';
import 'package:flutter/material.dart';
String jsonString = '''
{
"roleList": [
{
"roleName": "测试角色1",
"roleNo": "111"
},
{
"roleName": "测试角色2",
"roleNo": "222"
}
]
}
''';
var jsonObject = json.decode(jsonString);
List<String> roleNoList = [];
List<dynamic> roles = jsonObject['roleList'];
roles.map((role) => roleNoList.add(role['roleNo']));
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Role Numbers"),
),
body: ListView.builder(
itemCount: roleNoList.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(roleNoList[index]),
);
},
),
),
);
}
}
```
此示例创建了一个带有ListView.builder的简单的Flutter应用程序,该列表显示了从JSON数据中提取的"roleNo"值。