一尘不染

如何将JObject反序列化为.NET对象

json

我很高兴使用Newtonsoft JSON库。例如,我将从JObject.NET对象创建一个,在这种情况下为Exception的实例(可能是子类,也可能不是子类)

if (result is Exception)
    var jobjectInstance = JObject.FromObject(result);

现在我知道该库可以将JSON文本(即字符串)反序列化为对象

// only works for text (string)
Exception exception = JsonConvert.DeserializeObject<Exception>(jsontext);

但我正在寻找的是:

// now i do already have an JObject instance
Exception exception = jobjectInstance.????

显然,我可以从头JObject回到JSON文本,然后使用反序列化功能,但这对我来说似乎是倒退的。


阅读 190

收藏
2020-07-27

共1个答案

一尘不染

根据这篇文章,现在好多了:

// pick out one album
JObject jalbum = albums[0] as JObject;

// Copy to a static Album instance
Album album = jalbum.ToObject<Album>();

文档:
将JSON转换为类型

2020-07-27