使用 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 { });
}