這幾天用了Framework7框架,提交Form數據時,它可以直接將數據轉為json格式,很方便,然后處理成json字符串,提交到后台。
后台本來用的是LitJson,將json字符串轉換為實體類對象時,發生int,datetime等字段類型空值不能轉換的問題,看了下LitJson的轉換方法,沒有提供更多參數,也就沒有研究它,直接轉用Newtonsoft.Json。
Newtonsoft.Json的JsonConvert.DeserializeObject方法,帶個JsonSerializerSettings參數,網上搜索,settings直接設置成以下這樣,問題解決:
1 JsonSerializerSettings setting = new JsonSerializerSettings(); 2 JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() => 3 { 4 //日期類型默認格式化處理 5 setting.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat; 6 setting.DateFormatString = "yyyy-MM-dd HH:mm:ss"; 7 8 //空值處理 9 setting.NullValueHandling = NullValueHandling.Ignore; 10 11 //高級用法九中的Bool類型轉換 設置 12 // setting.Converters.Add(new BoolConvert("是,否")); 13 14 return setting; 15 });
