我們很早就使用了Json.net 6.0.8並且它在從jquery ajax向api控制器發佈值時正確處理'未定義'值。如果屬性值未定義,則ASP.NET MVC WebApi模型綁定無法處理
For eg, {\"Id\": \"29927801\", \"Status\": 2, \"Name\": undefined}
最近我們已經升級Json.net到8.0.3和看起來是不正確地處理「未定義」值 - 該模式本身也將是空的。 如有任何建議,請分享。
我們很早就使用了Json.net 6.0.8並且它在從jquery ajax向api控制器發佈值時正確處理'未定義'值。如果屬性值未定義,則ASP.NET MVC WebApi模型綁定無法處理
For eg, {\"Id\": \"29927801\", \"Status\": 2, \"Name\": undefined}
最近我們已經升級Json.net到8.0.3和看起來是不正確地處理「未定義」值 - 該模式本身也將是空的。 如有任何建議,請分享。
您應該爲轉換器指定空值處理。如果我們正在討論MVC模型綁定 - 您應該在app_start中指定它。 看看在你的WebApiConfig this
你可以寫:
public static void Register(HttpConfiguration config)
{
//... your config
var settings = new JsonSerializerSettings()
{
NullValueHandling = NullValueHandling.Include
};
config.Formatters.Clear();
config.Formatters.Add(new JsonNetFormatter(settings));
}
但我很困惑它是如何早期使用6.0.8版本的,儘管我們沒有明確指定格式化程序 – Jibu
也許在默認的nullvalue處理中版本6.0.8是「包含」 –
你能[編輯]你的問題分享生JSON字符串,不因任何展示臺逃逸?顯示的JSON無效,請嘗試上傳到http://jsonlint.com/ – dbc