根据模式c#Json.Net过滤json

时间:2018-02-01 07:51:50

标签: c# json json.net

我想删除json字符串中未在架构中定义的字段。 我知道这是正常的反序列化所做的,它会丢弃额外的属性以适应具体的类。但我还想保留原始的json字符串,用于未滤除的部分。 例如:

class ConcreteClass
{
string ProA;
string ProB;
}

jsonstring = @"{
'ProA' : 'value1',
'ProC' : 'value2'
}";

我需要的是:' ProC'被过滤掉了,因为它不在模式中,所以保持ProA'只有,' ProB'不在过滤后的字符串中,因为它不是在过滤之前。

结果应该是:

filteredString = @"{ 'ProA' : 'value1' }";

我这样做的原因是,我需要区分“不存在的财产”#39; vs'属性值为null'。所以我想首先过滤出架构未定义的字段,然后保留剩下的内容。

0 个答案:

没有答案