我有一個webapi返回json序列化的DataTable結果集,在客戶端,當我嘗試反序列化相同時,列的值將從float轉換爲int。任何人都可以建議我如何解決這個問題。我經歷了很多帖子,但沒有找到工作解決方案。JSon內容反序列化DataTable錯誤解析DataType
下面是使用控制檯應用程序重現問題的示例代碼片段。
string jsonString = "[{\"Column1\":1.0,\"Column2\":0.0,\"Column3\":1.0}]";
DataTable dt= JsonConvert.DeserializeObject<DataTable>(jsonString);
現在訪問dt.Rows [0] [0]將返回1而不是1.0。
如果有任何其他建議以不同的方式從WebApi傳遞數據表也是可以接受的。下面是Web API代碼片斷
[HttpPost]
public IHttpActionResult GetData(string some parameters)
{
DataTable dt = new DataTable(); //some datatable
Ok(dt);
}
不要離開這個答案,因爲不清楚你想解決的問題*是否需要* JSON。一種選擇是使用C#中內置的XML序列化器。 如果需要JSON,Newtonsoft庫支持'DataTable'的[de]序列化。 – Tor