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_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()
但我仍然很好奇是否有更好的方法,特别是 returns 一个真正的 JSONObject
或者我可以添加属性的东西
给定一个 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_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()
但我仍然很好奇是否有更好的方法,特别是 returns 一个真正的 JSONObject
或者我可以添加属性的东西