我正在使用JSON.Net尝试反序列化来自facebook的一些响应。下面是我正在阅读的数据的快照:
{
"data": [
{
"id": "123"
},
{
"id": "234"
}
],
"paging": {
"cursors": {
"before": "xxx",
"after": "xxx"
},
"next": "xxx"
}
}
课程:
class jsonDeserialize
{
public List<ListDetail> ListDetail { get; set; }
}
public class DataList
{
public string id { get; set; }
}
public class Paging
{
public List<string> cursors { get; set; }
public string next { get; set; }
}
public class Cursors
{
public string before { get; set; }
public string after { get; set; }
}
public class ListDetail
{
public List<Cursors> Cursors { get; set; }
public List<Paging> Articles { get; set; }
public List<DataList> DataList { get; set; }
}
我使用这段代码来使用JSON.NET反序列化函数:由于某种原因,结果返回null,请帮助我:(
var result = JsonConvert.DeserializeObject<jsonDeserialize>(jsonString);
发布于 2015-09-13 04:17:54
修正你的课程防御:
class jsonDeserialize
{
public List<DataList> data { get; set; }
public Paging paging { get; set; }
}
public class DataList
{
public string id { get; set; }
}
public class Paging
{
public Cursors cursors { get; set; }
public string next { get; set; }
}
public class Cursors
{
public string before { get; set; }
public string after { get; set; }
}
jsonDeserialize
包含DataList列表,ListDetail
可以删除,cursors
不是数组,它是一个对象。
发布于 2015-09-13 04:33:13
天哪,我错过了来自facebook的JSON,“解决”了相反的问题。不过,我会把它留在这里,以防万一
首先,作为快速说明,这里的反序列化代码必须类似于var result = JsonConvert.DeserializeObject<jsonDeserialize>(jsonString);
您的JSON与代码不对应。如果您想反序列化为jsonDeserialize类,您的json必须是这样的(请密切关注[]
和{}
)
{
"ListDetail" :
[
{
"Cursors":
[
{
"before" : "value",
"after" : "value"
}
],
"Articles":
[
{
"Cursors":
[
"cursor1",
"cursor2"
],
"next" : "somenext"
}
],
"DataList":
[
{
"id" : "someid"
},
{
"id" : "someid2"
}
]
}
]
}
发布于 2015-09-13 05:28:45
class jsonDeserialize
{
public List<DataList> data { get; set; }
public Paging paging { get; set; }
}
public class DataList
{
public string id { get; set; }
}
public class Paging
{
public Cursors cursors { get; set; }
public string next { get; set; }
}
public class Cursors
{
public string before { get; set; }
public string after { get; set; }
}
var result=JsonConvert.DeserializeObject<jsonDeserialize>(jsonformat.Substring(0,jsonformat.Length));
使用它,它会给你写结果。由于数据和分页被视为属性,因此需要在类json荒漠化中将这些属性初始化,并使用游标代替列表,因为您将游标数据存储在分页类.Thanks中。
https://stackoverflow.com/questions/32545833
复制相似问题