1

アプリケーションがデータにアクセスしたい REST API が複数あるとします。各 API は JSON 応答をサポートしますが、データの説明に使用されるフィールドが異なります。したがって、ある API は時間を使用、別の API はタイムスタンプ データのキーとしてタイムスタンプを使用する場合があります。同様に、場所などの他のフィールドは異なる方法で表現される場合があります。

このような異種データを取り込む 1 つの方法は、API ごとにラッパーを作成することです。ただし、より一般的なアプローチが必要です。

私のアプリケーションは、各 API の JSON 応答から次のフィールドを取得 (たとえば) したいと考えています。

  • タイムスタンプ
  • 緯度
  • 経度

単一の JSON パーサーを作成することを考えていましたが、どのフィールドが何を表しているかをパーサーに伝える構成ファイルを指定しました。したがって、次のようになります。

API1の場合(たとえば)

  • タイムスタンプ = '時間'
  • 緯度 = '場所'[0]
  • 経度 = '場所'[1]

API2の場合(たとえば)

  • タイムスタンプ = 'タイムスタンプ'
  • 緯度 = 'lat'
  • 経度 = 'lng'

そのようなデータ記述を指定できる既存のメソッドがあると確信していますが、見つけることができませんでした。誰かが私を正しい方向に向けることができますか?

編集: 解析するだけでなく、そのような REST API のクエリを作成する一般的な方法があるかどうかも教えてください。たとえば、一部の API は時間間隔をクエリ パラメータとして受け入れます。これらのクエリ パラメータも API ごとに異なります。したがって、モジュールにクエリの作成方法を指示する構成ファイルを受け入れる汎用クエリ モジュールの作成方法を提案してください。

4

1 に答える 1

1

JSON Schemaのようなものを探していると思います。

リンクから:

JSON データの構造を定義するための JSON ベースの形式。JSON スキーマは、特定のアプリケーションに必要な JSON データと、それを操作する方法に関するコントラクトを提供します。JSON スキーマは、JSON データの検証、文書化、ハイパーリンク ナビゲーション、および対話制御を定義することを目的としています。

以下は、ウェブサイトに掲載されている例です。

{
    "title": "Example Schema",
    "type": "object",
    "properties": {
        "firstName": {
            "type": "string"
        },
        "lastName": {
            "type": "string"
        },
        "age": {
            "description": "Age in years",
            "type": "integer",
            "minimum": 0
        }
    },
    "required": ["firstName", "lastName"]
}
于 2013-05-22T18:00:41.667 に答える