クライアント スクリプトを DRY に保つために、C# コードでさまざまなプロパティ属性と共に Newtonsoft.Json.Schema.JsonSchemaGenerator の使用を開始しました。私がやりたいことは、サーバーからのスキーマに基づいて、クライアント側でデフォルトの初期化されたオブジェクトを作成することです。これは、たとえば、ユーザーが「New Foo」をクリックして新しいエントリをテーブルに追加する場合に役立ちます。
明らかに、.Properties を反復処理して新しいオブジェクトを構築するようにコード化することができます。これが現在行っていることです。ただし、車輪の再発明は避けたいと思います。
これを行う JSON スキーマを操作するための JS ライブラリはありますか?
2013/1/29更新
一部の人々は私の質問に答えようとしましたが、根拠がありませんでした。その結果、SO コミュニティから否定的なフィードバックを受けました。それでは、物事を明確にしようとしましょう。課題は次のとおりです。
JS クライアント スクリプトには、別のオブジェクトの JSONスキーマを表すオブジェクトがあります。たとえば、これは JSON.NET 経由でサーバーから送信されたもので、C# クラスの表現です。
次に、JS クライアント スクリプトで、JSONスキーマに基づいてこれらのオブジェクトの 1 つを作成します。オブジェクトの各フィールド/プロパティは、含まれるすべてのオブジェクトを含め、スキーマに従ってデフォルトで初期化する必要があります!
ボーナス: MVVM (Knockout など) を使用して、この新しいオブジェクトを UI にバインドします。ユーザー入力に応じて、いくつかのフィールドを変更します。
この新しいオブジェクトをサーバーに送信します。サーバー側のコードは、それをコレクション、データベース テーブルなどに追加します。(はい、オブジェクトは Ajax を使用して JSON として送信されます。想定できます)
重複なし!クラスが定義される唯一の場所は、サーバー側のコード (私の例では C#) です。これには、デフォルト値、説明テキスト、有効範囲などのすべてのメタデータが含まれます。