DeserializeObject仅部分反序列化

时间:2015-06-22 21:29:38

标签: c# json serialization json.net json-deserialization

给出一个班级

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的{​​{1}}对象,它可以正常解析,因为我需要它。但是,我不希望JSON.net反序列化D_type,我想这样做

D

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

我将在之后使用不同的反序列化器将其转换为其他东西。反序列化为对象D_type然后将其序列化为json似乎没有意义,只是再次反序列化。

1 个答案:

答案 0 :(得分:0)

似乎我能够做到

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或者我可以添加属性的东西