ODataクエリで、特定の名前と値のペアの代わりに、生の配列を返すように指定する方法はありますか?私は、次のその結果のODataクエリを持っている場合たとえば、私は、変換を行うことは明らかに可能性がありますがODataプロトコルは、オブジェクトの配列を生の値の配列に変換する方法を提供しますか?
{
"@odata.context": "http://blah.org/MyService/$metadata#People",
"value": [
{
"Name": "Joe Smith",
"Age": 55,
"Employers": [
[ "Acme", "1/1/1990" ],
[ "Enron", "1/1/1995" ],
[ "Amazon", "1/1/1999" ]
]
},
{
"Name": "Jane Doe",
"Age": 30,
"Employers": [
[ "Joe's Crab Shack", "1/1/2007" ],
[ "TGI Fridays", "1/1/2010" ]
]
}
]
}
:
{
"@odata.context": "http://blah.org/MyService/$metadata#People",
"value": [
{
"Name": "Joe Smith",
"Age": 55,
"Employers": [
{
"Name": "Acme",
"StartDate": "1/1/1990"
},
{
"Name": "Enron",
"StartDate": "1/1/1995"
},
{
"Name": "Amazon",
"StartDate": "1/1/1999"
}
]
},
{
"Name": "Jane Doe",
"Age": 30,
"Employers": [
{
"Name": "Joe's Crab Shack",
"StartDate": "1/1/2007"
},
{
"Name": "TGI Fridays",
"StartDate": "1/1/2010"
}
]
}
]
}
は、私が代わりに戻って取得するクエリに追加できるものはありますクライアント側では、私の使用例では、フィールド名がデータに比べて非常に大きいので、これらの名前をすべて転送せず、変換を実行するクライアントでCPUサイクルを費やすこともありません。フォーマットが自分の望むものでなければならないことを示す独自のカスタムパラメータを用意する前に、標準化された方法がないかどうかを確認したいと思っていました。
に含めるプロパティのサブセットを選択することで、必要なフィールドだけを選んで$桜にオプションを選択しを使用することができます services.odata.org/OData/OData.svc/Categories(1)/Products(1)/Supplier/Address/City/$value
異なる種類の値。これは一般的に私がやることではありません。私の意見では、それはあなたのAPIを傷つけるでしょう。 送信されるデータが少なくなります。しかし、それはまた、クライアントが前提を作らなければならない、あまり明確ではないAPIをもたらすでしょう(Employers Array内の配列の最初のフィールドは、日付のように見えない場合は名前でなければなりません)。 それが働きにくくなると、クライアントは具体的に雇用者の名前やStartDateを取得するだけでは不十分です。 – ophychius
合意。私はこの形式を標準のOData APIから明示的に要求する方法を探していますが、この形式をAPI自体の一部ではない*ために使用します。つまり、この形式を決定する同じクライアントが1つは結果を解釈する。 FWIW、私の実際のユースケースは、グラフのX、Y値で構成されています。 {timestamp:12345、value:77}のようなオブジェクトの配列の代わりに、私は[12345,77]のようなタプルの配列を受け取りたいと思います。 –