我想删除json字符串中未在架构中定义的字段。 我知道这是正常的反序列化所做的,它会丢弃额外的属性以适应具体的类。但我还想保留原始的json字符串,用于未滤除的部分。 例如:
class ConcreteClass
{
string ProA;
string ProB;
}
jsonstring = @"{
'ProA' : 'value1',
'ProC' : 'value2'
}";
我需要的是:' ProC'被过滤掉了,因为它不在模式中,所以保持ProA'只有,' ProB'不在过滤后的字符串中,因为它不是在过滤之前。
结果应该是:
filteredString = @"{ 'ProA' : 'value1' }";
我这样做的原因是,我需要区分“不存在的财产”#39; vs'属性值为null'。所以我想首先过滤出架构未定义的字段,然后保留剩下的内容。