我正在为 Web API 设置审核日志。出于安全原因,我想从 json 字符串中删除密码属性。我不想记录登录 API 的登录密码。
Json/请求负载:
{"code":"medics1","username":"admin","password":"password"}
我尝试使用以下代码:
var payload = JArray.Parse(objQueue.payload);
payload.Remove("password");
最佳答案
您距离目标已经很近了。您只需要对代码进行一点点更改。
您正在使用JArray
,这用于解析以[...]
开头和结尾的json,而不是用于{...}
你的json是一个JObject
,这意味着它以{...}
开始和结束
因此只需使用 JObject
而不是 JArray
即可正常工作
string json = @"{ 'code':'medics1','username':'admin','password':'password'}";
JObject jObject = JObject.Parse(json);
jObject.Remove("password");
string outputJson = jObject.ToString();
输出:(来自调试器)
关于c# - 如何从 JSON 字符串中删除特定的 JSON 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55757190/