如何使用 C# 将参数值分配给字符串

How do I assign parameter values to a string using c#

我正在研究 workfront api 和我的应用程序的实现。这应该很简单。也许我的代码会解释得更好。

JToken tasks = client.Search(ObjCode.TASK, new { fields = "ID, extRefID, assignedTo:name" });
taskid = c.Value<string>("ID");
workItem = c.Value<string>("extRefID");
taskAssgTo = c.Value<string>("assignedTo:name");

现在,taskid 和 workItem return 值正确。我无法理解为什么 taskAssgTo 总是 return null。 debuggin时,我可以清楚地看到assignedTo:name有正确的值,但由于某些原因我不会将它分配给taskAssgTo。 (taskAssgTo 是一个字符串变量)。

这是使用 REST 检索数据时的样子:

{
  "ID": "4c78285f00000908ea8cfd66e084939f",
  "extRefId": "4561",
  "assignedTo": {
    "ID": "4c78285f00000908ea8cfd66e084215a",
    "name": "Admin User"
  } 
}

请给出解释和可能的解决方案。提前致谢!

我没有看到任何文档说明您可以按照您尝试访问子值的方式访问它们。

我会尝试改用点符号,例如

taskAssgTo = c.Value<string>("assignedTo.name");

或按照下面的 link 查看如何导航 JObject 层次结构

Searching for a specific JToken by name in a JObject hierarchy