在List中获取JSON API扩展

时间:2018-05-28 06:36:20

标签: c# json uwp

我有一个由房间组成的SQL数据库,我通过API从数据库中获取值。现在我有一个List的房间及其属性。

我从中获取这些值的网址:

string url = "https://api.booking.com/api/room";

每个房间都有自己的图像,但图像的网址如下所示:

string url = "https://api.booking.com/api/room/35bf3c4d-9b5b-40fd-bcf4-a4c2c6c564bc/image";

Guid是房间的ID。

其余属性位于第一个URL中,我没有遇到任何问题,但我的问题是我不知道应该怎么做才能将图像带到其他属性的列表中。

提前致谢!

1 个答案:

答案 0 :(得分:1)

我建议你有两个类 - 一个用于从第一个URL解析JSON(不具有此图像属性),然后是一个代表应用中房间的模型类。然后,此类将具有JSON属性的属性以及图像的URI或ImageSource属性。

在这种情况下,只有图像的URI似乎是一个更好的解决方案,因为你不必将所有图像保存在内存中,只能将URI绑定到图像组件,系统会照顾下载和显示。

如果您不需要两层数据模型,您可以将另一个属性添加到图像URI的第一个JSON类中,然后解析第一个API,然后单独分配URI。

最后,如果第二个URL只是图像的路径,您可以自动生成它:

public Uri ImageUrl => 
   new Uri( $"https://api.booking.com/api/room/{Id}/image", UriKind.Absolute );

假设您有另一个属性Id,即房间的Guid