簡體   English   中英

從Request.form獲取嵌套值

[英]Get Nested Value from Request.form

我正在嘗試從在C#Webforms中使用“ POST”方法接收的數據中提取一些值,示例數據為:

{  
   "ProductStockDetailsID":8015425,
   "LocationID":24213,
   "ProductID":19284305,
   "MinStock":null,
   "MaxStock":null,
   "OnOrder":0,
   "Alerts":false,
   "ProductStocks":[  
    {  
     "StockID":11839663,
     "CurrentStock":68,
     "CurrentVolume":0,
     "CreatedDate":"2019-06-30T09:58:38.4",
     "DeletedDate":null,
     "CostPrice":0.00000,
     "ProductStockDetailsID":8015425
    }
   ]
}

我使用Request.Form["ProductID"]成功提取了ProductID ,但是我無法提取CurrentStock值,因為它看起來是嵌套在ProductStocks

為什么不為請求定義類,然后僅解析請求。 為此,您需要覆蓋ProcessRequest方法,例如

 public override void ProcessRequest(HttpContext context) { string json; using (var reader = new StreamReader(context.Request.InputStream)) { json = reader.ReadToEnd(); } var data = JsonConvert.DeserializeObject<RequestData>(json); base.ProcessRequest(context); ProcessRequest(data); } private void ProcessRequest(RequestData data) { // ... your code } 

而要解析的類是:

 public class RequestData { public int ProductStockDetailsID { get; set; } public int LocationID { get; set; } public int ProductID { get; set; } public object MinStock { get; set; } public object MaxStock { get; set; } public int OnOrder { get; set; } public bool Alerts { get; set; } public Productstock[] ProductStocks { get; set; } } public class Productstock { public int StockID { get; set; } public int CurrentStock { get; set; } public int CurrentVolume { get; set; } public DateTime CreatedDate { get; set; } public object DeletedDate { get; set; } public float CostPrice { get; set; } public int ProductStockDetailsID { get; set; } } 

現在只使用data.ProductStocks

暫無
暫無

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

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