我需要传入一个变量来获取匹配的所有标记。由于某种原因,我不能让它认识到我传递的变量的价值。我希望有人能告诉我我做错了什么......
例如,
当我对下面的有效ID进行硬编码时,我得到了与该id匹配的6条记录。这是预期的结果。
JObject results = JObject.Parse(sampleJson);
// add each task to the list "tasks"
foreach (var task in tasks)
{
IEnumerable<JToken> taskNotes = results.SelectTokens("$.tasknote[?(@.taskid == '8155423')]");
}
如果我尝试从循环中传递任务id(循环中的第一个与硬编码的一个相同),它会为前两次迭代提供正确的匹配数,然后没有任何匹配之后的迭代,即使我知道有匹配。
JObject results = JObject.Parse(sampleJson);
// add each task to the list "tasks"
foreach (var task in tasks)
{
IEnumerable<JToken> taskNotes = results.SelectTokens("$.tasknote[?(@.taskid == '"+ task.Id +"')]");
}