c# - 如何从 JSON 字符串中删除特定的 JSON 属性

标签 c# json asp.net-web-api

我正在为 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();

输出:(来自调试器)

enter image description here

关于c# - 如何从 JSON 字符串中删除特定的 JSON 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55757190/

相关文章:

java - GSON 序列化 - 如何从序列化中排除某些字段,但不从反序列化中排除

python - 使用 Flask 和 gunicorn 进行 JSON 格式的日志记录

c# - 在 Web API 中解密不记名 token

c# - 逐像素颜色转换 WriteableBitmap => PNG Black only to Color with Transparency

c# - 如何在 C# 中解析和使用 htpasswd 文件

javascript - 解码来自 Ajax 调用的 Json 响应

c# - 健康检查,ASP.NET Web API

c# - SQL Express 连接字符串 : mdf file location relative to application location

c# - 对于 C#,在调用 GetWindowText 等 Win32 函数时使用 'string' 而不是 'StringBuilder' 是否有缺点?

c# - 如何在多部分/表单数据请求的请求正文中记录文件内容