JSONシリアル化からアイテムを条件付きで除外する方法はありますか?WebAPIを使用する.NET4アプリケーションでC#を使用しています。私はすでにクラスに参加していて、すべてが正常に機能しています[DataMember]
。[ScriptIgnore]
私がやりたいのは、プロパティの値に基づいて実行時に特定のプロパティを含めないことです
たとえば、シリアル化したいのは次の場合のみですList<Foo> myFoo
。
myFoo != null && myFoo.Count > 0
JSONは、クライアント上の自分のJSオブジェクトに変換され、すべてのプロパティがのようにインスタンス化されますmyFoo: []
。これらをJSONでクライアントに送信する必要はありません。これは、基本的にオブジェクトに影響を与えず、より多くのデータを送信し、クライアントでより多くの処理を使用するだけだからです。これは非常にJSの重いHTML5モバイルサイトであり、できるだけ多くのデータと処理を削減しようとしています。