使用Json_object进行Dart以产生强类型

时间:2013-12-12 08:54:24

标签: dart

使用{{3>}中的文章使用Dart和JSON Web服务中概述的想法,我一直在尝试实现有关使用JsonObject和接口的部分来生成强类型JSON数据。

文章指出应该写一些类似的东西。

abstract class Language {
  String language;
  List targets;
  Map website;
}

class LanguageImpl extends JsonObject implements Language {
  LanguageImpl(); 

  factory LanguageImpl.fromJsonString(string) {
    return new JsonObject.fromJsonString(string, new LanguageImpl());
  }
}

然而编译器在使用消息

的LanguageImpl类定义时“失败”
  

缺少继承的成员:'Language.website','Language.targets'和   'Language.language'

更令人困惑的是代码运行没有问题....

1 个答案:

答案 0 :(得分:0)

在Darteditor中,您可以获得快速修复支持。 将插入符号设置为LanguageImpl并按 ctrl + 1 或使用上下文菜单>快速解决。 您将从自动生成的抽象基类继承您缺少的具体实现。

Dart是一种动态语言,因此非常灵活。 这些工具为您提供支持,并尝试提供有意义的警告和提示,说明可能出现的问题 但是,即使它尚未完成,也不要阻止你运行程序。

您可以在课堂上使用the @proxy annotation来静音警告。 这也需要类具有noSuchMethod()实现。