在一个项目中,是否有合理的方法混合json_可序列化和内置值模型?

在一个项目中,是否有合理的方法混合json_可序列化和内置值模型?,json,flutter,dart,built-value,Json,Flutter,Dart,Built Value,问题如下,我有一个颤振项目,有些类使用,有些类使用。 两者都可以单独工作,但使用非常不同的方式序列化/反序列化JSON Build_value对序列化程序有自己的功能,json_序列化程序使用fromJson/toJson方法的dart:convert约定 我找不到一个简单的方法把这些结合起来 我要找的是这样的东西: 假设我有一个@JsonSerializable()类Person @JsonSerializable() 班主任{ 最后的字符串名; 最终积分; 人(这个名字,这个年龄); fac

问题如下,我有一个颤振项目,有些类使用,有些类使用。 两者都可以单独工作,但使用非常不同的方式序列化/反序列化JSON

Build_value对序列化程序有自己的功能,json_序列化程序使用
fromJson
/
toJson
方法的dart:convert约定

我找不到一个简单的方法把这些结合起来

我要找的是这样的东西:

假设我有一个@JsonSerializable()类
Person

@JsonSerializable()
班主任{
最后的字符串名;
最终积分;
人(这个名字,这个年龄);
factory Person.fromJson(Map json)=>\uu$PersonFromJson(json);
映射到JSON()=>$PersonToJson(这个);
}
和一个内置值类
SomeAppState

抽象类SomeAppState实现构建{
@可空
人得到当前人;
某个应用状态;
工厂SomeAppState([无效函数(SomeAppStateBuilder)更新]=\u$SomeAppState;
静态序列化程序get Serializer=>\u$someAppStateSerializer;
}
似乎没有一种合理的方法来序列化/反序列化
SomeAppState
的对象,因为内置值不关心fromJson/toJson,而且似乎也没有其他方法来实现,因为内置值序列化程序不会生成
Map


我是否被迫选择其中一个/或,只是接受你不能在两者之间进行互操作,还是我缺少了一些聪明的东西?

如果你使用
标准JSONplugin
,构建值将生成一个
映射

您可能可以使用此选项插入到
dart:convert
到encodable


这完全取决于你需要什么。序列化过程不一定需要转换为JSON格式。转换为JSON格式并不意味着序列化。因此,如果需要序列化,请使用程序进行序列化。如果您需要处理JSON格式的数据,那么请使用JSON软件。如果您只需要对JSON格式的数据进行编码/解码,那么其中一个可能的选项是,可以在这里找到:。@mezoni:我正在明确寻找一种方法,将内置值对象和json序列化对象组合在同一对象层次结构中,并能够在json之间进行转换。yaml2podo是如何解决这个问题的?如果它们彼此不兼容,并且您知道这一点,严格来说,您希望听到什么样的回应?确认这显然是不可能的吗?@mezoni我不能100%肯定这是不可能的,所以对我来说并不明显。是的,如果这是不可能的,我想知道。在这种情况下,我将使用这两种解决方案中的任何一种,这两种解决方案已分别证明对我有效。从那时起,我只需要重写其中的一些类,而不是像我切换到第三个不同的库那样重写所有的类。