【发布时间】:2023-04-06 01:07:01
【问题描述】:
我有以下问题:
(UserAttribues)Newtonsoft.Json.JsonConvert.DeserializeObject("{\"username\":\"Someone\"}");
抛出错误:
"Unable to cast object of type 'Newtonsoft.Json.Linq.JObject' to type 'UserAttribues'."
类很简单:
[Serializable]
public class UserAttribues
{
public string username;
}
任何帮助表示赞赏。 (我也试过 "{\"username\":\"\"Someone\"\"}")
【问题讨论】:
-
你试过通用版吗?
JsonConvert.DeserializeObject<UserAttributes>(... -
哦,这确实有效...你能解释一下原因吗? (如果您作为答案发布,则不接受)
-
我不想从@StarterPack 那里窃取答案,但这是因为您明确告诉它您想要的类型,并且它会尽力映射字段。使用强制转换,您依赖于类型兼容性。 C# 不仅知道如何在任意两种类型之间映射类型成员。
-
好的,非常感谢帮助和解释,说得通。