假设我的应用程序想要从多个 REST API 访问数据。每个 API 都支持 JSON 响应,但用于描述数据的字段不同。因此,一个 API 可能使用时间,而另一个 API 可能使用时间戳作为时间戳数据的键。类似地,其他字段(如位置)可能会以不同方式表示。
我获取此类异构数据的一种方法是为每个 API 编写一个包装器。但是,我想要一种更通用的方法。
我的应用程序想要从每个 API 的 JSON 响应中检索(比如说)以下字段:
- 时间戳
- 纬度
- 经度
我正在考虑编写一个 JSON 解析器,但指定一个配置文件来告诉解析器哪个字段代表什么。所以它看起来像:
对于 API1(比方说)
- 时间戳='时间'
- 纬度 = '位置'[0]
- 经度='位置'[1]
对于 API2(比方说)
- 时间戳='时间戳'
- 纬度 = '纬度'
- 经度 = 'lng'
我相信会有现有的方法可以让你指定这样的数据描述,但我一直找不到。有人能指出我正确的方向吗?
编辑: 还请让我知道是否有一种通用方法不仅可以解析而且还可以为此类 REST API 创建查询。例如,一些 API 接受时间间隔作为查询参数。这些查询参数也因 API 不同而不同。因此,请建议如何编写一个接受配置文件的通用查询模块,该配置文件告诉模块如何形成查询。