gpt4 book ai didi

json - 使用newtonsoft,如何在不知道类型的情况下反序列化直到运行时?

转载 作者:行者123 更新时间:2023-12-04 04:06:43 25 4
gpt4 key购买 nike

所以followwing工作得很好,从字符串json给我一个Team对象:

var found = JsonConvert.DeserializeObject<Team>(json);

但是如果我直到运行时才知道类型怎么办?假设我有上面的字符串 json,但我还有另一个带有类型名称的字符串?例如,这不起作用:
var found = JsonConvert.DeserializeObject(json, Type.GetType("Team"));

无法将“Newtonsoft.Json.Linq.JArray”类型的对象强制转换为...

最佳答案

这对我有用:

var type = Type.GetType("My.Namespace.Class");
var myObj = JsonConvert.DeserializeObject(item, type);

诀窍是确保 type通过提供正确的类名不为空。如果是,反序列化仍然可以工作,但输出将不是您想要的类型。见 MSDN有关 GetType 的更多信息.

关于json - 使用newtonsoft,如何在不知道类型的情况下反序列化直到运行时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12810659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com