首页 > 解决方案 > 在列表中获取 JSON API 扩展

问题描述

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

我从中获取这些值的 URL:

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 中,我可以毫无问题地访问它们,但我的问题是我不知道应该怎么做才能将图像与其他属性一起放入列表中。

提前致谢!

标签: c#jsonuwp

解决方案


我建议你有两个类 - 一个用于从第一个 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房间的属性。


推荐阅读