颤振:如果对象类型未知,则解码Json

颤振:如果对象类型未知,则解码Json,json,flutter,dart,Json,Flutter,Dart,我有三个实体类。例如,抽象动物类、猫和狗类,它们扩展了动物类。dog和cat类都有toJson()和fromJson()方法。 我正在从文件系统读取一个文件。然后对字符串使用jsonDecode方法。 下一步是对jsonDecode()方法的结果调用fromJson()方法 但问题是: 它可能是一只狗或一只猫。那么我怎么知道应该调用哪个fromJson()方法呢 String content = file.readAsStringSync(); Cat.fromJson(jsonDecode(c

我有三个实体类。例如,抽象动物类、猫和狗类,它们扩展了动物类。dog和cat类都有toJson()和fromJson()方法。
我正在从文件系统读取一个文件。然后对字符串使用jsonDecode方法。
下一步是对jsonDecode()方法的结果调用fromJson()方法

但问题是:
它可能是一只狗或一只猫。那么我怎么知道应该调用哪个fromJson()方法呢

String content = file.readAsStringSync();
Cat.fromJson(jsonDecode(content)); //it could be a dog

帕斯卡!弦有什么不同吗?你怎么救他们?也许您应该在toJson方法中添加一个“type”或指示它是狗还是猫的东西,然后用它来解析字符串。

您没有关于JSON字符串的信息吗?与其直接将数据传递到类中,不如先解析它,检查它是否是狗、猫或其他东西,然后才实例化适当的类Yep,这应该有效谢谢:)这两个类都有一个特定的属性。我可以使用这个属性来决定对象的类型。