Flutter 您是否应该检查fromJson函数中变量的runTimeType作为最佳实践?

Flutter 您是否应该检查fromJson函数中变量的runTimeType作为最佳实践?,flutter,Flutter,这是一个相当基本的问题,但想知道什么是最佳实践,似乎在某处或其他地方找不到任何关于这一点的参考 在解析fromJson时,在尝试存储属性之前是否应该检查属性的runTimeType,即使您确信它应该是您认为的类型,或者null?或者,如果这种极不可能发生的事件曾经发生过,我们会接受错误吗 谢谢 factory SomeClass.fromJson(Map data) { if (data == null) return null; String someString = data['s

这是一个相当基本的问题,但想知道什么是最佳实践,似乎在某处或其他地方找不到任何关于这一点的参考

在解析fromJson时,在尝试存储属性之前是否应该检查属性的runTimeType,即使您确信它应该是您认为的类型,或者null?或者,如果这种极不可能发生的事件曾经发生过,我们会接受错误吗

谢谢

factory SomeClass.fromJson(Map data) {
    if (data == null) return null;

String someString = data['someString']; //no runTimeType check
int someInt = data['someInt']; //no runTimeType check


 try {
      assert(someString != null, 'Some String was null in Some Class Json');
      assert(someInt != null,
          'Some Int null in Some Class Json');
    } catch (e) {
      return null;
    }

   
return SomeClass(someString: someString, someInt: someInt); 

}

检查变量的运行时类型也很好,因为它可以防止将来数据库更新时任何潜在的应用程序崩溃

null
检查而言,我个人传入了一个默认值,如
String
我将空字符串存储为默认值,而不是
null

String someString = data['someString'] ?? '';
即使数据库返回一个
null
值,我们的应用程序也应该能够处理这些情况

我个人经历过的最常见的错误类型是在数据解析过程中。类型
String
不是
int
的子类型。差不多吧。因此,我想最好检查从后端返回的值的运行时类型。

那么将if(data['someString'].runTimeType==String){unwrap here}添加到每个属性中?