从Json对象中删除属性c#

时间:2018-04-23 01:56:46

标签: c# json

我有一个JSON:

{
"scbs_currentstatus": "",
  "scbs_primaryissue": "",
  "_umb_id": "Test",
  "_umb_creator": "Admin",
  "_umb_createdate": "0001-01-01 00:00:00",
  "_umb_updatedate": "0001-01-01 00:00:00",
  "_umb_doctype": "Test",
  "_umb_login": "Test",
  "_umb_email": "Test",
  "_umb_password": {
    "newPassword": "Test",
    "oldPassword": null,
    "reset": null,
    "answer": null
  },
  "_umb_membergroup": {
    " User": false,
    "Line User": true,
    "Callback User": false,
    "Su User": false,
    },
  "umbracoMemberComments": "Test",
  "umbracoMemberFailedPasswordAttempts": ""

}

如何删除节点中的特定属性,例如“_umb_password”中的“newPassword”。

我有result.Property(“_ umb_id”)。Remove();但它删除了节点。

由于

2 个答案:

答案 0 :(得分:0)

你可以使用Linq

var myJson =  JArray.Parse(json);
myJson.Descendants()
    .OfType<JProperty>()
    .Where(attr => attr.Name.StartsWith("newPassword"))
    .ToList();
    .ForEach(attr => attr.Remove());

答案 1 :(得分:0)

我不知道你是如何读/写json但是如果你正在使用Json.net。你可以这样做

class YouClassName
{
    .....
    [JsonIgnore]
    public string newPassword{get;set;}

}

https://www.newtonsoft.com/json/help/html/PropertyJsonIgnore.htm