在C#開發中,我們常常需要對來自前端的Json數據進行處理和解析。但在解析之前,我們要先確定數據是否符合Json格式的要求。下面是我分享的關于如何判斷Json請求的方法。
第一步:將請求體轉換為字符串
var stream = HttpContext.Current.Request.InputStream; byte[] buffer = new byte[stream.Length]; stream.Read(buffer, 0, buffer.Length); var json = Encoding.UTF8.GetString(buffer);
第二步:利用Json.Net包中的JsonValidatingReader類進行校驗。
var reader = new JsonTextReader(new StringReader(json)); while (reader.Read()){} if(reader is JsonValidatingReader jsonValidatingReader){ if (jsonValidatingReader.ValidationErrorCount >0){ Console.WriteLine($"jsonValidatingReader.ValidationErrorCount={jsonValidatingReader.ValidationErrorCount}"); Console.WriteLine($"jsonValidatingReader.ValidationErrorMessages={jsonValidatingReader.ValidationErrorMessages}"); return false; } } else{ Console.WriteLine("Invalid data!"); return false; } return true;
JsonValidatingReader類可以根據Json格式的規定,進行數據格式校驗。當校驗失敗時,我們可以通過ErrorCount和ErrorMessages獲取校驗的詳細信息,從而提供給我們更加精準的錯誤定位。
補充說明:若校驗成功,我們就可以將Json字符串反序列化為自定義的對象,進行下一步的業務處理。
上一篇vue img變量路徑
下一篇vue 自動生成頁面