Map toJson() { final _data = {}; _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}]