.NET Core 5

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


原文地址:https://www.cnblogs.com/QuXingBai-Blog/p/15165436.html