【发布时间】:2015-07-23 22:23:08
【问题描述】:
我在反序列化具有如下结构的 json 时遇到问题。
public class Entity
{
public int Id;
public string EntityName;
private List<Entity> _items;
//Sub entities
public IReadOnlyList<Entity> Items
{
get{
return _items;
}
}
}
在调试模式下, 我可以通过 JSON Visualizer 看到 Items > 0(如下图所示),但是当我尝试反序列化时,我总是得到 Items count = 0
我尝试使用以下语句,但仍然没有运气。
var json = await response.GetContentAsync<string>();
试试 1
var deserializedList = JsonConvert.DeserializeObject<IEnumerabld<Entity>>json);
试试 2
var settings = new JsonSerializerSettings{MaxDepth = 5};
var deserializedList = JsonConvert.DeserializeObject<IReadOnlyList<Entity>>(json, settings);
对此的任何帮助将不胜感激。
【问题讨论】:
-
你有这个
IReadOnlyList,这使得序列化程序无法向它添加一些东西。
标签: c# json json-deserialization