0
我正在使用ASP MVC4應用程序,而不是Web API。我有這樣一個C#視圖模型:反序列化Json不區分大小寫
public class Car{
public int Id {get;set;}
public string Name {get;set;}
}
在客戶端我與knockout.js工作和視圖模型是這樣的:
function Car(data){
var self = this;
self.id = ko.observable(data.id);
self.name = ko.observable(data.name);
}
當我通過Ajax發送淘汰賽視圖模型來服務器:
$.post("@Url.Action("MyAction")", ko.toJSON(myCar));
MyAction期待一個汽車參數:
public JsonResult MyAction(Car model)
{
...
}
但模型始終將其所有屬性都設爲null,因爲後值是小寫,Car屬性是大寫。
我尋找一個解決方案,我發現這一點:
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
但它不適合我的工作,我認爲這是僅適用於網絡API。
你知道任何方式來做json綁定不區分大小寫嗎?
所有的問題是使用ko.toJSON(myCar),而不是我使用ko.toJS(myCar),現在它工作正常。 –
將此添加到答案中,然後將其作爲答案。這可能有助於許多人 –