2017-05-12 25 views
3

我正在使用第三方api,期望JSON具有像「key-name」這樣的關鍵字名稱。導出到JSON時使用無效的C#關鍵字名稱

使用實體框架我做了以下

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

有沒有使用合適的值,而無需手動生成後更換琴絃的方式?

+2

我不會與你已經構建JSON字符串替換走。你應該把它放在帶有適當屬性名稱的字典中,然後序列化字典。更不容易出錯。 – Rob

回答

2

您可以爲json結果創建一個新類。
e.g:

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});