C#学习教程:System.MissingMethodException:json数组的反序列化时出错分享


System.MissingMethodException:json数组的反序列化时出错

反序列化jsonString时出错。

错误是Type 'oodleListingsUser' is not supported for deserialization of an array.

我的反序列化代码是

  string jsonString = new WebClient().DownloadString("http://api.oodle.com/api/v2/listings?key=TEST&region=region_value&category=category_value&format=json"); JavaScriptSerializer ser = new JavaScriptSerializer(); jsonOodleApi p = ser.Deserialize(jsonString); 

我对jsonOodleApi的定义是

 public class jsonOodleApi { public oodleCurrent current; public oodleListings[] listings; public oodleMeta meta; public string state { get; set; } } 

定义oodleCurrentoodleMeta我不给予因为它的完美!

oodleListings的定义是

 public class oodleListings { public string id { get; set; } public string title { get; set; } public oodleListingsUser user; // I have skipped some of fields because it have no issue at all. } 

oodleListingsUser的定义是

 public class oodleListingsUser { public string id { get; set; } public string url { get; set; } public string name { get; set; } public string photo { get; set; } } 

问题是我的jsonString有时只返回一个user的值( oodleListingsUser的类型),有时它返回用户的数组,有时它返回用户的null!

当它只返回一个用户时,它运行得非常好! 没有任何问题。

但是当它返回用户数组时, 绽放! 错误发生Type 'oodleListingsUser' is not supported for deserialization of an array.

即使我已经尝试过public oodleListingsUser[] user但是它给出了错误

 No parameterless constructor defined for type of 'oodleListingsUser[]' 

对于只返回一个用户的值!

现在我该怎么做才能解决这个问题?

尝试:

 public oodleListings[] listings = new oodleListings[0]; 

或者将其List

上述就是C#学习教程:System.MissingMethodException:json数组的反序列化时出错分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1031705.html

发表评论

邮箱地址不会被公开。 必填项已用*标注