2017-06-27 11 views
2
のプレフィックスが必要です

私はネットコアのWeb APIを使用しており、プロパティ名「$ skip」のペイロードを返す必要があります。私はDataAnnotationsを使用してみました:私のコントローラで

public class ApiResponseMessage 
{ 
    [Display(Name ="$skip", ShortName = "$skip")] 
    public int Skip { get; set; } 
    [Display(Name = "$top", ShortName = "$top")] 
    public int Top { get; set; } 
} 

私は単に

return Json(payload) 

を使用しかし、私の応答ペイロードは以下のようになります:

"ResponseMsg": { 
    "Skip": 0, 
    "Top": 3 
} 

と私はそれがする必要があります

"ResponseMsg": { 
    "$skip": 0, 
    "$top": 3 
} 

thとは何ですかこれに対処するための最善の選択肢? 私自身のContractResolverまたはConverterを記述する必要はありますか?

答えて

1

ASP.NETコアは、すでにそのベースとしてJSON.NETを使用していますJavaScriptSerializer。

ここは依存関係です。

Microsoft.AspNetCore.Mvc - > Microsoft.AspNetCore.Formatter.Json - > Microsoft.AspNetCore.JsonPatch - > Newtonsoft.Json

目標を達成するであろう。このようなオブジェクトのサンプルの装飾

[JsonObject] 
public class ApiResponseMessage 
{ 
    [JsonProperty("$skip")] 
    public int Skip { get; set; } 
    [JsonProperty("$top")] 
    public int Top { get; set; } 

    .... 
} 
+0

この依存関係のパスを表示していただきありがとうございます。それはNewtonsoft.Jsonのどのバージョンが実際に使用されているかを見つけることを可能にしたものでした(現在の設定では10.0.1) –

関連する問題