DeserializeObject 只反序列化部分

DeserializeObject only deserialize partly

给定一个 class

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);

它与 class D_typeD 对象一起工作正常,它根据我的需要正确解析。但是,我不想 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()

但我仍然很好奇是否有更好的方法,特别是 returns 一个真正的 JSONObject 或者我可以添加属性的东西