Newtonsoft json and graph api



我使用Newtonsoft json对facebook图形api响应进行反序列化。

例如,当我解析用户帖子时,响应如下:

data": [
{
"story": "",
"created_time": "",
"id": ""
}]

我创建了一个类:

public class FacebookPost
{
public string created_time { get; set; }
public string id { get; set; }
public string story { get; set; }
}

Newtonsoft将这些值直接追加到类中,我可以使用它们。

我的问题是,当我试图解析注释时,api响应如下:

"data": [
{
"created_time": "",
"from": {
"name": "",
"id": ""
},
"message": "",
"id": ""
}]

例如,name和id位于from部分中,我必须如何构造类才能获取from.namefrom.id的值?

非常感谢----------------------------新增------我使用以下类:

public class FacebookCommentsResults
{
public PostComments[] data { get; set; }        
public FacebookPagingInfo Paging { get; set; }
}

public class PostComments
{
public string created_time { get; set; }
public From from { get; set; }
}
public class From
{
public string name { get; set; }
public string id { get; set; }
}

行var created_time=comment.created_time;工作良好!下一行var name=comment.name;给出错误-->反应。PostComments"不包含"name"的定义,也不包含接受第一个"Reactions"类型参数的扩展方法"name"。可以找到PostComments(您是否缺少using指令或程序集引用?)

当响应为时

"data": [
{
"created_time": "",
"from": {
"name": "",
"id": ""
},
"message": "",
"id": ""
}]

现在json模式已经更改,所以我们必须更改我们的类。原因是from是我们主json中的另一个对象,所以我们需要以下类来访问from.idfrom.name

public class From
{
public string name { get; set; }
public string id { get; set; }
}
public class FacebookPost
{
public string created_time { get; set; }
public From from { get; set; }
public string message { get; set; }
public string id { get; set; }
}

编辑

行var created_time=comment.created_time;工作良好!下一个行var name=注释名称;给出错误-->反应。PostComments不包含"name"的定义,也没有扩展方法"name"接受类型为"Reactions"的第一个参数。PostComments可以找到(是否缺少using指令或程序集参考?)

from是一个对象,而在该对象中name是一个属性,因此不能通过给定comment.name来访问它。首先需要从comment中获取from对象,然后可以检索name属性。

相关内容

  • 没有找到相关文章

最新更新