将JToken(或字符串)转换为给定的Type
TL; DR版本 我有一个类型的对象JToken(但也可以是string),我需要将其转换为type变量中包含的Type : Type type = typeof(DateTime); /* can be any other Type like string, ulong etc */ var obj = jsonObject["date_joined"]; /* contains 2012-08-13T06:01:23Z+05:00 */ var result = Some_Way_To_Convert(type, obj); 上面result应该是一个DateTime对象,其值在中给出date_joined。 全文 我在Windows Phone项目中同时使用RestSharp和Json.NET,并且在尝试反序列化REST API的JSON响应时遇到问题。 我实际上要完成的工作是编写一个通用方法,该方法可以轻松地将JSON响应映射到我的CLR实体中,就像您已经可以使用RestSharp一样。唯一的问题是默认的RestSharp实现对我不起作用,并且由于响应并不总是返回所有属性(我不返回null来自REST服务器的字段),因此它无法成功解析JSON 。 这就是为什么我决定使用Newtonsoft的Json.NET的原因,因为它具有更强大的Json反序列化引擎。不幸的是,它不支持RestSharp之类的模糊属性/字段名(或者我还没有找到),因此当我使用诸如say时,它也无法正确映射到我的CLR实体JsonConvert.DeserializeObject<User>(response.Content)。 这是我的Json的样子(实际上是一个示例): { "id" : 77239923, "username" : "UzEE", "email" : …