私は実際にWeb APIに新しいので、私の質問はちょっと奇妙に聞こえるかもしれません。Web Api 2 - カスタムデータ型JSONのシリアル化
価格変更に関する履歴情報を返す簡単なAPIがあります。アクションは、次の形式で
[{"Date":"2016-02-07T08:22:46.212Z","Value":17.48},{"Date":"2016-02-08T09:34:01.212Z","Value":18.37}]
しかし、特定のクライアントの要件によるとJSONを返します - しかし、問題があるPriceHistoryRecordModelが
[DataContract]
public class PriceHistoryRecordModel
{
[DataMember]
public DateTime Date { get; set; }
[DataMember]
public double Value { get; set; }
}
ある
[HttpGet]
[Route("api/history/{id}/{size}")]
public async Task<IEnumerable<PriceHistoryRecordModel>> GetHistory(string id, Size size)
:私のコントローラのアクションは、次のようになりますデータ形式に変換するには、このようにJSONが必要です
[[1238371200000,17.48],[1238457600000,18.37]]
、カスタムのシリアル化を達成するための方法がありますのであれば、私は
- をだろうか?
- このカスタムシリアル化を属性にラップし、それをアスペクトとして使用できますか?
を使って、数にあなたの日時をひそかにし、あなたの戻り値の型を変更してみてください'double []': 'public async Task> GetHistory(文字列ID、サイズサイズ)'。 'DateTime.Millisecond'を使ってdatetimeを数値に変換してください –
@KhanhTOありがとうございました。それはすぐに問題を解決し解決しました。しかし、カスタムシリアル化に関する質問はそのままです。 –