0
我正在使用ACE代碼編輯器收集Json並將其發送給我的應用程序。一旦Json碰到應用程序,我需要確保json中有某個鍵,所以我使用JsonConvert.DeserisalizeObject<t>
來做到這一點。具體方法如下:嘗試使用JsonConvert.DeserisalizeObject檢查json文件的正確參數<t>
public void SubmitReport(string JsonStringSend)
{
try
{
ReportItem RptItem = JsonConvert.DeserializeObject<ReportItem>(JsonStringSend);
}
catch(err)
{
return View(err);
}
}
和:
public class ReportItem
{
public Guid ReportID;
public bool RequiresFilter;
public string MimeType { get; set; }
public string ExternalID { get; set; }
public DateTime CreatedBy { get; set; }
public string ExecutionScript { get; set; }
public string ExecutionParameter { get; set; }
public string ExecutionOrderBy { get; set; }
public List<DynamicFilter> DynamicFilters { get; set; }
public bool RequiresOrgID { get; set; }
public QueryFilter ReportFilter { get; set; }
public QueryRule ReportRules { get; set; }
public List<QueryColumn> Columns { get; set; }
}
但由於某些原因,它反彈就在,甚至當我保證一些關鍵的是不正確的漁獲物。我不理解正確的用法JsonConvert.DeserisalizeObject<t>
?或者,有沒有更好的方法來做這個檢查?
這正好驗證了JSON,它不會驗證某些關鍵是這是我需要的JSON。 –
你的意思是,必填項?它確實證實了這一點。使用「必需」:http://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.4.3 – Nikolay
由於我已經建立了一個模型,我不想有以創建一個模式。以爲我可以使用模型並基於它進行驗證。 –