2016-09-09 27 views
0

我們很早就使用了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和看起來是不正確地處理「未定義」值 - 該模式本身也將是空的。 如有任何建議,請分享。

+0

你能[編輯]你的問題分享生JSON字符串,不因任何展示臺逃逸?顯示的JSON無效,請嘗試上傳到http://jsonlint.com/ – dbc

回答

0

您應該爲轉換器指定空值處理。如果我們正在討論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)); 
     } 
+0

但我很困惑它是如何早期使用6.0.8版本的,儘管我們沒有明確指定格式化程序 – Jibu

+0

也許在默認的nullvalue處理中版本6.0.8是「包含」 –