在Dart中,可以使用json
包来对JSON进行编码和解码自定义对象列表。
首先,确保在pubspec.yaml
文件中添加了json
依赖:
dependencies:
json: ^3.0.0
然后,在Dart文件中导入dart:convert
和json
包:
import 'dart:convert';
import 'package:json/json.dart';
接下来,定义一个自定义对象类,例如Person
类:
class Person {
String name;
int age;
Person(this.name, this.age);
// 将对象转换为Map
Map<String, dynamic> toJson() => {
'name': name,
'age': age,
};
// 从Map中解析对象
factory Person.fromJson(Map<String, dynamic> json) =>
Person(json['name'], json['age']);
}
现在,可以对自定义对象列表进行编码和解码。首先,将对象列表转换为JSON字符串:
List<Person> persons = [
Person('Alice', 25),
Person('Bob', 30),
];
String jsonStr = jsonEncode(persons);
print(jsonStr);
输出结果类似于:
[{"name":"Alice","age":25},{"name":"Bob","age":30}]
然后,可以将JSON字符串解码为对象列表:
List<Person> decodedPersons = jsonDecode(jsonStr)
.map<Person>((json) => Person.fromJson(json))
.toList();
decodedPersons.forEach((person) {
print('Name: ${person.name}, Age: ${person.age}');
});
输出结果为:
Name: Alice, Age: 25
Name: Bob, Age: 30
这样,你就可以在Dart中对JSON进行编码和解码自定义对象列表了。
关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,建议参考腾讯云的官方文档和开发者资源,以获取更多关于云计算的信息和相关产品:
领取专属 10元无门槛券
手把手带您无忧上云