反序列化对象仅部分反序列化

本文关键字:反序列化 对象 仅部 | 更新日期: 2023-09-27 17:59:15

给定一个类

public class ClassTest
{
    public string A { get; set; }
    public string B { get; set; }
    public string C { get; set; }
    public D_type D { get; set; }
}

我打电话给

JsonConvert.DeserializeObject<ClassTest>(json);

它可以很好地与D_type类的D对象配合使用,它可以根据我的需要正确解析。但是,我不希望JSON.net反序列化D,我想这样做,而不是

public class ClassTest
{
    public string A { get; set; }
    public string B { get; set; }
    public string C { get; set; }
    public string D_json { get; set; }
}

我想保留D作为json字符串,而不是反序列化它

之后,我将使用不同的反序列化程序将其转换为其他内容。反序列化为对象D_type,然后将其序列化回json,结果却再次反序列化,这似乎毫无意义。

反序列化对象仅部分反序列化

似乎我能做

public class ClassTest
{
    public string A { get; set; }
    public string B { get; set; }
    public string C { get; set; }
    public dynamic D { get; set; }
}

然后使用

var obj = JsonConvert.DeserializeObject<ClassTest>(json);
var json = obj.D.ToString()

但我仍然很好奇是否有更好的方法,特别是一种返回真实JSONObject的方法,或者我可以向

添加属性的方法