Winforms 显示Facebook Graph API JSON中的特定字段

Winforms 显示Facebook Graph API JSON中的特定字段,winforms,facebook-graph-api,json.net,Winforms,Facebook Graph Api,Json.net,我试图使用Facebook Graph API简单地显示特定组中的成员列表。我正在使用Newtonsoft.JSON 以下是我的url查询结果: 我使用了一个JSON类生成器,它给了我以下信息: public class Datum { public string name { get; set; } public string id { get; set; } public bool administrator { get; set; } } public clas

我试图使用Facebook Graph API简单地显示特定组中的成员列表。我正在使用Newtonsoft.JSON

以下是我的url查询结果:

我使用了一个JSON类生成器,它给了我以下信息:

public class Datum
{
    public string name { get; set; }
    public string id { get; set; }
    public bool administrator { get; set; }
}

public class Cursors
{
    public string before { get; set; }
    public string after { get; set; }
}

public class Paging
{
    public Cursors cursors { get; set; }
}

public class Members
{
    public List<Datum> data { get; set; }
    public Paging paging { get; set; }
}

public class RootObject
{
    public Members members { get; set; }
    public string id { get; set; }
}
公共类数据
{
公共字符串名称{get;set;}
公共字符串id{get;set;}
公共bool管理员{get;set;}
}
公共类游标
{
{get;set;}之前的公共字符串
{get;set;}之后的公共字符串
}
公共类分页
{
公共游标游标{get;set;}
}
公共班级成员
{
公共列表数据{get;set;}
公共分页{get;set;}
}
公共类根对象
{
公共成员成员{get;set;}
公共字符串id{get;set;}
}
我尝试了我能想到的各种组合,只在多行文本框中显示成员列表,但不确定这是否是在Windows窗体应用程序上显示列表的最佳方式

有人能帮我理解两件事吗

1) 在Windows窗体应用程序中显示姓名列表的最佳组件是什么

2) 使用JsonConvert.DeserializeObject从中生成名称列表的1行或2行是什么


我的原始数据存储在:
string responseFromServer=reader.ReadToEnd()中

将JSON反序列化到类中:

RootObject obj = JsonConvert.DeserializeObject<RootObject>(responseFromServer);
如果您想让用户能够选择单个名称并基于该选择执行某些操作,您可能需要使用列表框或组合框。您可以像这样填充列表框或组合框:

listBox1.DisplayMember = "name";
listBox1.DataSource = obj.members.data;

这应该足够让您开始了。

要将JSON反序列化到您的类中:

RootObject obj = JsonConvert.DeserializeObject<RootObject>(responseFromServer);
如果您想让用户能够选择单个名称并基于该选择执行某些操作,您可能需要使用列表框或组合框。您可以像这样填充列表框或组合框:

listBox1.DisplayMember = "name";
listBox1.DataSource = obj.members.data;

这应该足以让您开始。

谢谢Brian!这很有效。我已经编辑了我的原始问题,如果你有空余时间,我会继续跟进。我已经感谢你的时间了。基本上,我已经尝试向web请求中添加更多信息,但它返回了一个更复杂的数据结构,我在处理它时遇到了困难。再次感谢!如果此答案充分回答了您的原始问题,并且您有一个新的后续问题,您应该关闭此问题(单击答案左侧的复选标记图标),然后使用页面顶部的“提问”链接提问后续问题。这是一个新问题,将有不同的答案。将这两个问题混合在一起会让人混淆答案的哪些部分适用于问题的哪些部分,特别是对于第一次阅读问题/答案并试图跟进的新手。谢谢Brian!这很有效。我已经编辑了我的原始问题,如果你有空余时间,我会继续跟进。我已经感谢你的时间了。基本上,我已经尝试向web请求中添加更多信息,但它返回了一个更复杂的数据结构,我在处理它时遇到了困难。再次感谢!如果此答案充分回答了您的原始问题,并且您有一个新的后续问题,您应该关闭此问题(单击答案左侧的复选标记图标),然后使用页面顶部的“提问”链接提问后续问题。这是一个新问题,将有不同的答案。将这两个问题混合在一起,就会混淆答案的哪些部分适用于问题的哪些部分,特别是对于第一次阅读问题/答案并试图跟进的新手。