首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在dart中对JSON来回编码和解码自定义对象列表?

在Dart中,可以使用json包来对JSON进行编码和解码自定义对象列表。

首先,确保在pubspec.yaml文件中添加了json依赖:

代码语言:txt
复制
dependencies:
  json: ^3.0.0

然后,在Dart文件中导入dart:convertjson包:

代码语言:txt
复制
import 'dart:convert';
import 'package:json/json.dart';

接下来,定义一个自定义对象类,例如Person类:

代码语言:txt
复制
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字符串:

代码语言:txt
复制
List<Person> persons = [
  Person('Alice', 25),
  Person('Bob', 30),
];

String jsonStr = jsonEncode(persons);
print(jsonStr);

输出结果类似于:

代码语言:txt
复制
[{"name":"Alice","age":25},{"name":"Bob","age":30}]

然后,可以将JSON字符串解码为对象列表:

代码语言:txt
复制
List<Person> decodedPersons = jsonDecode(jsonStr)
    .map<Person>((json) => Person.fromJson(json))
    .toList();

decodedPersons.forEach((person) {
  print('Name: ${person.name}, Age: ${person.age}');
});

输出结果为:

代码语言:txt
复制
Name: Alice, Age: 25
Name: Bob, Age: 30

这样,你就可以在Dart中对JSON进行编码和解码自定义对象列表了。

关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,建议参考腾讯云的官方文档和开发者资源,以获取更多关于云计算的信息和相关产品:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券