Sharepoint に保存したジャンルのリストを正常に取得できました。TaxonomyCollection
それは私が信じている非公式です。クライアント オブジェクトがそれを送り返す方法は、奇妙で、別の形式に変換するのが困難です。多分私は何か間違ったことをしていますか?
返される JSON は次のとおりです (Genres ノードの下の項目を参照してください)。Label
たとえば、値を取得したい。かなりまっすぐに見えます。
これが実際にクライアント オブジェクト モデルに戻ってきます。
これはクレイジーです。1 つのジャンルのラベルを取得するためだけに書いたコードを次に示します。
var items = clientContext.Web.Lists.GetByTitle("Contacts").GetItems(itemsQuery);
//Execution code removed for brevity
Dictionary<string,object> g = ((Dictionary<string,object>)items.ToList()
.First()["Genres"]);
var g2 = g.ToList()[1];
var g3 = (object[])g2.Value;
var g4 = (object[])((Dictionary<string, object>) g3[0]).Values.ToArray();
var g5 = g4[1].ToString();
ご覧のとおり、それは見苦しく、最終的にすべてのラベルを取得するための linq ステートメントを作成することは、同様に見苦しく、書くのが困難です。私はそれを間違っていると考えています。助言がありますか?