2017-05-12 5 views
3

"key-name"のようなキーワード名のJSONが必要なサードパーティのAPIを使用しています。JSONにエクスポートするときに無効なC#キーワード名を使用する

エンティティフレームワークを使用してI次の操作を行います

var result = _context.data.Select(d => new 
{ 
    keyName = x.name 
}); 
return Json(new {result = result}); 

手動で生成後の文字列を置き換えることなく、適切な値を使用する方法はありますか?

+2

私はあなたのすでに構築JSONで文字列を置換して行くだろう。適切なプロパティ名を持つ辞書に入れ、辞書をシリアライズする必要があります。エラーが起こりにくい。 – Rob

答えて

2

json resultの新しいクラスを作成できます。
例えば:

public class JsonResult{ 

[JsonProperty(Name="key-name")] 
    public string KeyName{get;set;} 
} 

var result = _context.data.Select(d => new JsonResult 
{ 
    KeyName = x.name 
}); 
return Json(new {result = result}); 
関連する問題