使用 System.Text.Json 动态删除 JSON 中的属性

use*_*286 6 .net c# .net-core system.text.json

注 1:不想使用newtonsoft.json

注 2:这不是重复的,其他答案使用newtonsoft.json

注 3:使用.Net5。

如何使用 删除 Json 字符串中的属性System.Text.Json

{
 Name: "Mike",
 Age : 12,
 Location : "Africa"
}
Run Code Online (Sandbox Code Playgroud)

我希望能够根据属性名称和值进行删除。例如,删除 Age 属性或删除名为 Mike 的人员。

小智 3

我希望以下解决方案可能有助于删除该属性。
emp 是你的对象

var jsonObject = System.Text.Json.Nodes.JsonNode.Parse(emp.ToJson()).AsObject();
Run Code Online (Sandbox Code Playgroud)

删除属性
Age 是 emp 的属性

jsonObject.Remove(nameof(emp.Age)); 
Run Code Online (Sandbox Code Playgroud)