CSharp 2 Dart入門コム


あなたがAPIと統合するフラッターを使用してモバイルアプリケーションを書いた場合は、その後、アプリとAPI間を通過するモデルオブジェクトの多くがあることを知っているよ.
フラッターのJSONシリアライズはまた、仕事をするために、かなり退屈な繰り返しを感じることができるため、ボイラープレートのコードの公正な量を取ることができます.Cを使用してAPIを構築している場合、あなたはまた、フラッターと逆のシリアル化されたモデルを受け取るために、Cと同じモデル構造を複製します.
これを念頭に置いて、いくつかの散策仕事を削除するために、私は作成したhttps://www.csharp2dart.com/ .

サイトは、あなたのC経線コードを貼り付けることができるシンプルなインターフェイスを提供し、それを等価ダーツを生成します.サイトがやや身近に見えるなら、私はいくつかのインスピレーションを取りましたhttps://csharp2json.io/
次のオプションを設定することによって生成されるコードを制御できます.
a @ jsonserialize ()注釈を追加する
これにより、ファイルの先頭にimport文とパート文が追加され、@ jsonserialize ()アノテーションでクラスを飾ることができます.例えば:

b tojson ()メソッドを追加する
このオプションはtojson ()メソッドを生成します.The json_serializable パッケージはこのメソッドを生成し、生成された*.G .ダーツファイル.

c fromjson ()メソッドの追加
このメソッドはtojson ()メソッドの逆を行います.このメソッドを使用すると、JSONからクラスの新しいインスタンスを作成できます.tojson ()メソッドと同様に、JonHunnシリアル化はすべてのコード生成を行います.

d )全てのフィールドはnull可能です
場合は、このプロパティを設定すると、自動的にあなたのためにそれを行うには、ダーツクラスのすべてのフィールドが必要です.

必須コンストラクタパラメータ
最後のオプションを設定すると、すべてのコンストラクタパラメータが必要になります.

複数のクラスを一度に生成する場合は、可能です.たとえば次のコードを返します.
    public class Product
    {
        public int ProductId { get; set; }      
        public string Title { get; set; }       
        public string SubTitle { get; set; }        
        public bool IsActive { get; set; } = true;  
    }

    public class ProductOption 
    {       
        public string Title { get; set; }
        public double Price { get; set; }
        public int QuantityInStock { get; set; }
    }
つのDARTクラスを生成します.
// -- product.dart --
class Product {
    int productId;
    String title;
    String subTitle;
    bool isActive;

    Product(this.productId,this.title,this.subTitle,this.isActive,);
}
// -- product_option.dart --
class ProductOption {
    String title;
    double price;
    int quantityInStock;

    ProductOption(this.title,this.price,this.quantityInStock,);
}

お気軽にそれを使用すると、任意のバグに実行したり、新しい機能を提案したい場合は、新しいを作成してくださいGitHub issue .
お読みありがとうございます.次回まで、コーディングを保つ!
- p

P.S. To learn more about JSON and serialization in Flutter, please see the Flutter documentation.