Vonetizer Vonetizer - 1 month ago 12
C# Question

Remove Properties From a Json String using newtonsoft

I have the following JSON string:

{
"results":[
{
"id":11,
"name":"Employee A",
"isEmployee":true
},
{
"id":12,
"name":"Employee B",
"isEmployee":true
},
{
"id":13,
"name":"Employee C",
"isEmployee":true
},
{
"id":14,
"name":"Contractor A",
"isEmployee":false
},
{
"id":15,
"name":"Contractor B",
"isEmployee":false
}
],
"totalItems":5
}


I need to remove from it the id and isEmployee properties and leave only the name property.

Here is the desired result:

{
"results":[
{
"name":"Employee A"
},
{
"name":"Employee B"
},
{
"name":"Employee C"
},
{
"name":"Contractor A"
},
{
"name":"Contractor B"
}
],
"totalItems":5
}


How can this be done in C# using Newtonsoft JSON.NET?

Answer

There are two basic approaches,

Either

Or

  • Deserialize the JSON to strongly-typed objects without the additional properties. The properties not present in the C# types will be silently dropped. Then serialized the just-deserialized object.