将对象转换为JSON
/** Map<String, dynamic> toJson() { final _data = <String, dynamic>{}; _data['font'] = font; // No need for 'this.' here return _data; } */ String jsonStr = jsonEncode(motifsModelItem.toJson());
将JSON转换为对象
//将 JSON 字符串解析为 Map<String, dynamic> Map<String, dynamic> json = jsonDecode(jsonStr); motifsModelItem.value = MotifsModelItem.fromJson(json);
JSON转换为Map
要将JSON字符串转换为Dart的Map对象,您可以使用Flutter的内置json
库。这个库提供了jsonDecode()
函数,可以将JSON字符串解析为Dart的Map对象
import 'dart:convert'; String jsonString = '{"name": "John", "age": 30}'; Map<String, dynamic> userMap = jsonDecode(jsonString); print(userMap); // 输出: {name: John, age: 30}
Map转换为JSON
要将Dart的Map对象转换为JSON字符串,您可以使用jsonEncode()
函数
import 'dart:convert'; Map<String, dynamic> userMap = {'name': 'John', 'age': 30}; String jsonString = jsonEncode(userMap); print(jsonString); // 输出: {"name":"John","age":30}
JSON转换为List
有时,API返回的JSON数据可能是一个包含多个对象的列表。您可以将这样的JSON数组转换为Dart的List对象
import 'dart:convert'; String jsonArrayString = '[{"name": "John", "age": 30}, {"name": "Alice", "age": 25}]'; List<dynamic> userList = jsonDecode(jsonArrayString); print(userList); // 输出: [{name: John, age: 30}, {name: Alice, age: 25}]
List转换为JSON
将Dart的List对象转换为JSON字符串也是非常简单的,只需使用jsonEncode()
函数。
import 'dart:convert'; List<Map<String, dynamic>> userList = [ {'name': 'John', 'age': 30}, {'name': 'Alice', 'age': 25} ]; String jsonArrayString = jsonEncode(userList); print(jsonArrayString); // 输出: [{"name":"John","age":30},{"name":"Alice","age":25}]