gpt4 book ai didi

json - 变量名可以与 json 不同吗?

转载 作者:IT王子 更新时间:2023-10-29 06:40:24 27 4
gpt4 key购买 nike

当使用 json_serialiazable ( https://pub.dartlang.org/packages/json_serializable ) 时,变量名称似乎需要与 json 名称相同。我错了吗?

@JsonSerializable(nullable: false)
class Person {
final String firstName;
final String lastName;
final DateTime dateOfBirth;
Person({this.firstName, this.lastName, this.dateOfBirth});
factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
Map<String, dynamic> toJson() => _$PersonToJson(this);
}

并且 json 还将具有“firstName”、“lastName”和“dateOfBirth”参数。

比方说,我更喜欢使用“final String first”而不是“firstName”,但仍然希望从 json 读取的“firstName”映射到“first”。可能吗?

我知道有手动方式,但如果我仍然可以使用那种方式,我想知道如何?

谢谢!

最佳答案

可以添加注解来自定义

@JsonKey(name: 'firstName')
final String first;

另见 https://github.com/dart-lang/json_serializable/blob/master/json_annotation/lib/src/json_key.dart它支持序列化和反序列化的各种设置。

json_annotation包还有几个注释。

关于json - 变量名可以与 json 不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53804356/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com