序列化 – JSon.NET DeserializeObject>不返回列表也不给出错
发布时间:2020-12-16 19:52:43 所属栏目:百科 来源:网络整理
导读:我遇到了Json.NET库及其DeserializeObject方法.文档对于这里可能发生的事情并不十分清楚,所以如果有人能够解释如何将 JSON反序列化为User对象列表,我将不胜感激. 我正在尝试反序列化这个JSON [ {"userid":"0","listid":1,"lastname":"Mann","inplace":true,"
我遇到了Json.NET库及其DeserializeObject方法.文档对于这里可能发生的事情并不十分清楚,所以如果有人能够解释如何将
JSON反序列化为User对象列表,我将不胜感激.
我正在尝试反序列化这个JSON [ {"userid":"0","listid":1,"lastname":"Mann","inplace":true,"xpos":428,"ypos":111 },{"userid":"1","lastname":"Parker","xpos":334,"ypos":154 },{"userid":"2","lastname":"Terry","xpos":513,"ypos":160 } ] 进入用户对象 [JsonObject(MemberSerialization.OptIn)] public class User { [JsonProperty(PropertyName = "userid")] public string userid { get; set; } [JsonProperty(PropertyName = "listid")] public int listid { get; set; } [JsonProperty(PropertyName = "lastname")] public string lastname { get; set; } [JsonProperty(PropertyName = "inplace")] public bool inplace { get; set; } [JsonProperty(PropertyName = "xpos")] public int xpos { get; set; } [JsonProperty(PropertyName = "ypos")] public int ypos { get; set; } public User() { } } 运用 List<User> users = JsonConvert.DeserializeObject<List<User>>(jsonUsers); 没有成功.没有任何错误,也没有用户. JsonConvert.DeserializeObject只是默默地死去. 我尝试创建模型并使用该JSON字符串执行SerializeObject和DeserializeObject,但结果相同,没有错误,没有结果. 我甚至尝试传递serializersettings以便找出错误但没有错误 JsonSerializerSettings settings = new JsonSerializerSettings(); settings.Error += delegate(object sender,Newtonsoft.Json.Serialization.ErrorEventArgs args) { errorList.Add(args.ErrorContext.Error.Message); }; List<User> users = JsonConvert.DeserializeObject<List<User>>(jsonUsers,settings); 当我试图看到反序列化过程中发生了什么时,我注意到上下文没有被初始化?! public class User { ... [OnDeserializing] internal void OnDeserializing(StreamingContext context) { } } 我在这里做错了什么?我如何将其反序列化为用户列表?
我发现了什么问题. JSon.NET将我的整数从JSON反序列化到Int64而不是Int32,所以我把它放在long而且一切都按照它应该首先运行.
有没有办法指定我希望该属性反序列化为int? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |