使用 System.Text.Json.JsonElement
我曾經使用Newtonsoft.Json.JsonConvert
進行反序列化,結果數據對應不上,然后調試時發現數據格式不是正常的key/value,最后嘗試了微軟的System.Text.Json.JsonElement
進行強制轉換,結果發現這個J8格式就是它帶來的。
這點破事研究了一天...
后台處理
using stj= System.Text.Json;
...
[Route("[action]")]
[HttpPost]
//使用dynamic作為參數入口
//我所提供的json {"loginName":"A","loginPassword":"A"}
//現在 變量json 內部數據結構是: ValueKind = Object : "{"loginName":"A","loginPassword":"A"}
public JsonResult QueryUser(dynamic json)
{
//將參數強制轉換為JsonElement
stj.JsonElement j = (stj.JsonElement)json;
//獲取一個名為loginName的Json內部變量
String ln = j.GetProperty("loginName").GetString();
String lp = j.GetProperty("loginPassword").GetString();
return new JsonResult(new { });
}