【发布时间】:2020-12-06 15:35:55
【问题描述】:
我在如何组织我的食物列表时遇到问题,这是我创建的端点的结果。 问题来了:
这是我的课程Food...你可以看到它有一个Nutrients 的列表,我稍后会用到。
public class Food
{
public int ID { get; set; }
public string FoodID { get; set; }
public string FoodName { get; set; }
public List <Nutrient> Nutrients { get; set; }
}
public class Nutrient
{
public string NutrientName { get; set; }
public decimal NutrientValue { get; set; }
}
这是我当前返回的 XML:
<Food>
<FoodID>9003</FoodID>
<FoodName>Apples, raw, with skin</FoodName>
<ID>0</ID>
<Nutrient>Protein</Nutrient>
<NutrientValue>0.260</NutrientValue>
</Food>
<Food>
<FoodID>9003</FoodID>
<FoodName>Apples, raw, with skin</FoodName>
<ID>0</ID>
<Nutrient>Total lipid (fat)</Nutrient>
<NutrientValue>0.170</NutrientValue>
</Food>
<Food>
<FoodID>9003</FoodID>
<FoodName>Apples, raw, with skin</FoodName>
<ID>0</ID>
<Nutrient>Carbohydrate</Nutrient>
<NutrientValue>13.810</NutrientValue>
</Food>
我想做的是这样的:
<Food>
<FoodID>9003</FoodID>
<FoodName>Apples, raw, with skin</FoodName>
<ID>0</ID>
<Nutrient>
<NutrientName>Protein</Nutrient>
<NutrientValue>0.260</NutrientValue>
<NutrientName>Total lipid (fat)</Nutrient>
<NutrientValue>0.170</NutrientValue>
<NutrientName>Carbohydrate</Nutrient>
<NutrientValue>13.810</NutrientValue>
</Nutrient>
</Food>
基本上,我想按 ID 订购一个列表,因此属于同一 FoodID 的营养素会一起出现在一个列表中。
知道如何实现这个结果吗?
【问题讨论】:
-
您是否控制返回 json 的 API?
-
@Jason 是的,我愿意!
-
您可以创建一个名为 Nutrient 的元素并为其添加名称和值属性,如下所示:
。然后元素 Food 将包含一组 Nutrients。 -
你能分享那个端点的代码吗?我还建议使用营养 ID 或创建一个包含所有营养的枚举。
标签: c# .net xml api xamarin.forms