簡體   English   中英

將 Json 字符串轉換為 C# DataTable

[英]Convert Json string into C# DataTable

我在 Json 方面絕對是新手,以下是我從內部 REST API 調用之一返回的 JSON 字符串之一:

{
   "odata.metadata":"https://ABC.XYZ.com/ERP10TESTNSSO/api/v1/Erp.BO.ABCCodeSvc/$metadata#Epicor.RestApi.ABCCodes/@Element",
   "Company":"93100",
   "ABCCode1":"A",
   "CountFreq":1,
   "ExcludeFromCC":false,
   "StockValPcnt":"0",
   "PcntTolerance":"0.00",
   "CalcPcnt":false,
   "CalcQty":false,
   "CalcValue":false,
   "QtyTolerance":"0",
   "ValueTolerance":"0",
   "ShipToCustNum":0,
   "SysRevID":"6066188743",
   "SysRowID":"5b7e2172-7f7a-445e-983d-f230e050153d",
   "BitFlag":0,
   "RowMod":""
}

請讓我知道,如何將其轉換為 C# 數據表?

我嘗試了以下代碼(由另一種技術人員發布)

dynamic jsonObject = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonContent);
DataTable dt = JsonConvert.DeserializeObject<DataTable>(Convert.ToString(jsonObject.Value));

但是此代碼在 jsonObject.Value 處拋出錯誤。

請幫我解決它...

試試這個:

 string json = "{\"odata.metadata\":\"https://ABC.XYZ.com/ERP10TESTNSSO/api/v1/Erp.BO.ABCCodeSvc/$metadata#Epicor.RestApi.ABCCodes/@Element\",\"Company\":\"93100\",\"ABCCode1\":\"A\",\"CountFreq\":1,\"ExcludeFromCC\":false,\"StockValPcnt\":\"0\",\"PcntTolerance\":\"0.00\",\"CalcPcnt\":false,\"CalcQty\":false,\"CalcValue\":false,\"QtyTolerance\":\"0\",\"ValueTolerance\":\"0\",\"ShipToCustNum\":0,\"SysRevID\":\"6066188743\",\"SysRowID\":\"5b7e2172-7f7a-445e-983d-f230e050153d\",\"BitFlag\":0,\"RowMod\":\"\"}";

 json = $"[{json}]";

 DataTable dt = JsonConvert.DeserializeObject<DataTable>(json);

在您的 json 字符串中添加 [ ]。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM