我们也有N个JSON参数和类属性,但是 必须动态删除序列化时类属性中不可用的JSON参数。
如果我使用[JsonIgnore]
,它只是删除值,而不是整个属性;我们需要删除整个属性。
示例:
JSON请求:
{
"Name":"ABC",
"Age":26,
"Designation":"Er",
"Place":"Pune",
"Gender":"Male"
}
班级:
[Serializable]
public class SampleProperties
{
[JsonProperty("Name")]
public string Name { get; set; }
[JsonProperty("Age")]
public int Age { get; set; }
[JsonProperty("Designation")]
public string Designation { get; set; }
}
预期结果:
{
"Name":"ABC",
"Age":26,
"Designation":"Er"
}
答案 0 :(得分:3)
您可以像在Newtonsoft.Json的documentation或此link中看到的以下代码一样设置NullValueHandling
,此外,您可以使用{{1 }},如您在此link
ExpandoObject()
的更多信息
答案 1 :(得分:0)
执行此操作的最佳方法是创建一个具有30个字段的对象,并将json字符串反序列化为该对象
尝试这样的事情:
class MyObject
{
public string prop1 {get;set; }
public string prop2 {get;set; }
}
然后:
string json = "your json";
MyObject objectWith30Fields = JsonConvert.DeserializeObject<MyObject>(json);