3

(おそらく) 些細な質問で申し訳ありませんが、エンティティとデータ モデル クラスの名前が異なる Web サービスを利用しようとしています。

モデルの .Net クラス名を保持し、Json 属性名を使用して、シリアライザー/デシリアライザーを対応する Web サービス エンティティにマップします。例えば:

Web サービス エンティティ:

"人々"

私のモデルクラス:

"従業員"

私がすでにやっていること:

[JsonObject(Title="People")]
public class Employee 
{

   [JsonProperty("DifferentPropertyName")]
   string propertyName1 { get; set; }
}

しかし、json シリアライザー/デシリアライザーは引き続き .Net クラス名を使用するため、jsonObject タイトルを設定する必要があります。

それを達成する方法はありますか?

編集

Simple.OData.Clientを使用して OData サービスを使用する Xamarin Forms アプリに取り組んでいます。

ありがとう

4

1 に答える 1

2

DataContractAttributeが解決策になる場合があります。

public class RichFilter
{
   public Trolo item { get; set; }
}
[DataContract(Name = "item")]
public class Trolo 
{ 
   public string connector { get; set; } 
}

RichFilter オブジェクトをシリアル化すると、出力は次のようになります。

{"item":{"connector":"AND"}}
于 2018-03-07T08:32:04.293 に答える