gpt4 book ai didi

C# Facebook SDK动态数据转换

转载 作者:行者123 更新时间:2023-11-30 22:22:47 25 4
gpt4 key购买 nike

我从 Facebook SDK 得到了一个对象

var responsePages = (JsonObject)FBClient_.Get(new { ids = 
[123123123, 123123123, 12312213, etc]});

此查询返回数据(见图片)

Results

现在如何将其转换为对象列表?我试过跟随但它不起作用

var pe = (from dynamic page
in (IList<object>)(object)responsePages.Values
orderby page.name ascending
select new FBPage
{
Id = Convert.ToString(page.id),
}
).ToList();

所以失败了,希望得到任何帮助,因为这种动态的东西让我非常生气。

谢谢

最佳答案

如果您使用的是动态,则无需强制转换。

var fb = new FacebookClient();

dynamic result = fb.Get(new { ids = new[] { "...", "..." } });

var pages = new List<FBPage>();
foreach (var page in result.Values)
{
var fbPage = new FBPage {
Id = page.id,
Name = page.name
};

pages.Add(fbPage);
}

或者如果你想使用 linq。 (动态不支持扩展方法,因此您需要进行一些转换,JsonObject => IDictionary<string, dyanmic>JsonArray => IList<dynamic>)

var pages = ((IDictionary<string, dynamic>)result)
.Select(kpv => kpv.Value)
.Select(p => new FBPage { id = p.id, name = p.name })
.ToList();

或者你是强类型类。

var fbPages = fb.Get<IDictionary<string, FBPage>>(new { 
ids = new[] { "...", "..." }
}).Values;

public class FBPage
{
public string id { get; set; }
public string name { get; set; }
}

关于C# Facebook SDK动态数据转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13659553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com