dart 字符串'[{'a':1,'b':2},{'a':3,'b':4}]'转list<map>
时间: 2023-12-25 17:03:52 浏览: 66
要将字符串 `'[{'a':1,'b':2},{'a':3,'b':4}]'` 转换为 `List<Map<String, dynamic>>` 类型的列表,你可以使用 `jsonDecode` 函数将其解析为 JSON,并使用 `cast` 方法将解析后的结果转换为所需的类型。
以下是一个示例代码:
```dart
import 'dart:convert';
void main() {
String jsonString = '[{"a": 1, "b": 2}, {"a": 3, "b": 4}]';
List<Map<String, dynamic>> list = jsonDecode(jsonString).cast<Map<String, dynamic>>();
print(list); // 输出: [{a: 1, b: 2}, {a: 3, b: 4}]
}
```
在上面的示例中,我们首先导入 `dart:convert` 库。然后,我们定义了一个包含 JSON 格式字符串的变量 `jsonString`。通过调用 `jsonDecode(jsonString)`,我们将其解析为一个动态类型的对象。接下来,我们使用 `cast<Map<String, dynamic>>()` 将解析后的结果转换为 `List<Map<String, dynamic>>` 类型的列表。最后,我们将列表打印出来。
请注意,我们使用了 `cast` 方法来确保列表中的元素都是 `Map<String, dynamic>` 类型。这样做是因为 `jsonDecode` 返回的对象可能是动态类型(`List<dynamic>`),而不是我们期望的类型。
阅读全文