【发布时间】:2015-01-25 11:00:14
【问题描述】:
如果类包含简单的 JSON 兼容类型,MyClass obj = JsonConvert.DeserializeObject<MyClass>(JSONtext);
做得很好。如果MyClass 包含enum 或struct 属性,则DeserializeObject<> 方法返回null。我目前正在遍历反序列化为 JObject 的 JSON 响应,将值分配给创建的内部类,然后返回它。有没有更好的方法将 JSON 字符串反序列化为异构类对象?
class MyClass
{
public Int32 wishlistID;
public Basket currentBasket; //struct
public List<Int32> items;
public dStatus _dStatus; //enum
}
编辑:事实证明,出于某种原因,Basket 的所有属性都有 private 修饰符;当然它们无法访问,因此结果为null。将其切换到 public 就可以了。
【问题讨论】:
标签: c# json json.net deserialization