c# - 在列表中获取 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 中,我可以毫无问题地访问它们,但我的问题是我不知道应该怎么做才能将图像与其他属性一起放入列表中。
提前致谢!
解决方案
我建议你有两个类 - 一个用于从第一个 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
房间的属性。
推荐阅读
- python - 为什么在 py37 环境中安装 numpy 时需要指定“anaconda”通道
- angular - Angular 到 Spring Boot 微服务连接错误
- python - 如何在此处最小化代码以使其在 python3 中的内存效率更高?
- django - 将 Django 模板中的上下文中的 JSON 对象渲染为 Ajax DataTable
- wordpress - 如何在 Ultimate Member 选项卡插件上显示特定功能的简码
- javascript - React Semantic UI 如何使用“链接”
- html - 单击 WebBrowser 控件中的按钮
- python - 在列表中的 pandas 列中查找关键字匹配的数量
- r - 在 ggplot2 中的 geom_boxplot 内设置日期限制
- java - 如何使用 Xodus 删除实体类型?