将对象转换为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}]

 

posted on 2024-03-14 09:34  鲤斌  阅读(1437)  评论(0编辑  收藏  举报