1

テストを実行し、応答として動的オブジェクト (ExpandoObject) を返します。

動作しますが、JsonServiceClient はオブジェクトを変換できません

データと型の説明を json 形式で返します。

もっと良いことはできますか?

      public class DynamicAPIRequest : IReturn<object>
      { ...  }

      public object Post(DynamicAPIRequest request)
      {
        dynamic response = new ExpandoObject();  
        response.Name = "Donald Duck";         
        response.Nephews = new List<nephew>();
        response.Nephews.Add(new nephew { name = "Huey" } );
          ...
        return response;          
      }

クライアント側で

         var nephews = client.Post<object>(new DynamicAPIRequest { uncle = "skroutz" });   
             /* returns
              {Name:Donald Duck,Nephews:[{__type:Test.Client.Model.nephew, 
               Test.Client.Model,name:Huey},{name:Dewey},{name:Louie}]}

              */

他に何ができますか?

4

1 に答える 1

3

プロパティを取り除くには、__typeシリアル化の構成を設定して型情報を除外する必要があります。

JsConfig.ExcludeTypeInfo = true;

この回答の神話から:

デフォルトでは、__type は、逆シリアル化に必要な場合にのみ発行されます。たとえば、DTO にインターフェイス、抽象クラス、遅延バインディング オブジェクト タイプなどが含まれている場合などです。

于 2013-10-02T12:42:16.660 に答える