dart中如何把json字符串转为map
时间: 2023-02-08 09:15:50 浏览: 76
在 Dart 中,可以使用 dart:convert 库中的 json.decode() 函数将 JSON 字符串转换为 Map。首先需要导入 dart:convert 库,然后调用 json.decode() 函数并传入 JSON 字符串作为参数。代码示例如下:
```
import 'dart:convert';
Map<String, dynamic> jsonMap = json.decode(jsonString);
```
相关问题
flutter json字符串转map
在Flutter中,可以使用`json.decode()`方法将JSON字符串转换为Map对象。下面是一个简单的示例代码:
```dart
import 'dart:convert';
void main() {
String jsonString = '{"name": "John", "age": 30}';
Map<String, dynamic> jsonMap = json.decode(jsonString);
print(jsonMap['name']); // 输出:John
print(jsonMap['age']); // 输出:30
}
```
在上面的代码中,我们首先导入了`dart:convert`库,然后使用`json.decode()`方法将JSON字符串转换为Map对象。注意,我们需要指定Map的键类型为String,值类型为dynamic,以便能够处理不同类型的值。
如果你的JSON字符串中包含了嵌套的结构,你可以使用类似的方法将其转换为嵌套的Map对象。例如:
```dart
import 'dart:convert';
void main() {
String jsonString = '{"name": "John", "age": 30, "address": {"city": "New York", "country": "USA"}}';
Map<String, dynamic> jsonMap = json.decode(jsonString);
print(jsonMap['name']); // 输出:John
print(jsonMap['age']); // 输出:30
Map<String, dynamic> addressMap = jsonMap['address'];
print(addressMap['city']); // 输出:New York
print(addressMap['country']); // 输出:USA
}
```
上面的代码中,我们将JSON字符串中的address字段转换为一个嵌套的Map对象,并通过访问嵌套的Map对象来获取其中的值。
dart json转字符串
在Dart中,将JSON对象转换为字符串可以使用`jsonEncode()`函数。以下是一个示例:
```dart
import 'dart:convert';
void main() {
Map<String, dynamic> json = {
'name': 'John Doe',
'email': 'john.doe@example.com',
'age': 30,
'isEmployed': true,
};
String jsonString = jsonEncode(json);
print(jsonString);
}
```
输出结果:
```
{"name":"John Doe","email":"john.doe@example.com","age":30,"isEmployed":true}
```
在上面的示例中,我们首先定义一个包含JSON数据的`Map`对象。然后,我们使用`jsonEncode()`函数将该对象转换为JSON字符串,并将结果存储在`jsonString`变量中。最后,我们使用`print()`函数输出该字符串。