タグ付けされた質問 「expandoobject」




12
asp.net mvcのJsonResultを介して返されたExpandoObjectをフラット化する方法は?
ExpandoObject実行時にサーバー側の動的オブジェクトをコンパイルしている間は本当に気に入っていますが、JSONのシリアル化中にこれをフラット化するのに問題があります。まず、オブジェクトをインスタンス化します。 dynamic expando = new ExpandoObject(); var d = expando as IDictionary<string, object>; expando.Add("SomeProp", SomeValueOrClass); ここまでは順調ですね。私のMVCコントローラーでは、これをJsonResultとして送信したいので、次のようにします。 return new JsonResult(expando); これにより、JSONが以下のようにシリアル化され、ブラウザーで使用されます。 [{"Key":"SomeProp", "Value": SomeValueOrClass}] しかし、私が本当に望んでいるのはこれを見ることです: {SomeProp: SomeValueOrClass} dynamic代わりに使用すると、これを達成できることを知っていますExpandoObject- プロパティと値を単一のオブジェクトJsonResultにシリアル化できdynamicます(KeyまたはValueビジネスはありません)が、使用する必要がある理由ExpandoObjectは、実行時までオブジェクトに必要なプロパティ、および私の知る限り、dynamicを使用しないとプロパティをに動的に追加できませんExpandoObject。 私はJavaScriptで「キー」、「バリュー」ビジネスをふるいにかける必要があるかもしれませんが、クライアントに送信する前にこれを理解することを望んでいました。ご協力いただきありがとうございます!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.