我能够成功找回我存储在Sharepoint中的类型列表。这是非正式的TaxonomyCollection
我相信。客户端对象将其发送回去的方式有点奇怪,难以采取并放入另一种形式。也许我做错了什么?
这是我回来的JSON :(参见Genres节点下的项目)。我想获得Label
值。看起来很直接。
现在这是客户端对象模型中实际返回的内容。
这只是疯了,这是我为了获得一种类型的标签而编写的代码:
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语句来最终获得所有标签同样丑陋且难以编写。我在想我做错了。有什么建议吗?
答案 0 :(得分:1)
解决方案是:
(items[0]["Genres"] as TaxonomyFieldValueCollection).ToList().Select(x=> x.Label);