我希望从第三方API&使用最少的代码转换为我的C#对象。 类似于Dapper对SQL语句的结果与C#对象的结果。有没有可以做到这一点的图书馆? 我可以像下面那样手动完成,但是每次我想要从这个API中检索时,似乎有很多代码可以编写。
public IEnumerable<Requirement> Get()
{
dynamic requirementsSelect;
requirementsSelect = _RequirementsRepository.GetRequirements();
IList<Requirement> Requirements = new List<Requirement>();
foreach (var req in requirementsSelect)
{
Requirement requirement = new Requirement();
requirement.Text = req.Text;
requirement.Number = req.Number;
Requirements.Add(requirement);
foreach (var node in req.Phrases)
{
Requirement reqNode = new Requirement();
reqNode.Text = node.Text;
reqNode.Number = node.Number;
requirement.Nodes.Add(reqNode);
}
return Requirements;
}
谢谢
答案 0 :(得分:1)
我最终将第三方作为JSON返回如下。在我的特定情况下,JSON没有显示属性。我通过将动态对象更改为IEnumerable来解决,然后我可以使用.Select指定我想要检索的属性。
IEnumerable<dynamic> requirements = _RequirementsRepository.GetRequirements();
return JsonConvert.SerializeObject(new
{
Requirement = requirements.Select(x => x.Text),
Number = requirements.Select(x => x.Number),
});
谢谢!