使用JSONPath

时间:2016-09-12 01:02:18

标签: c# json json.net

我需要传入一个变量来获取匹配的所有标记。由于某种原因,我不能让它认识到我传递的变量的价值。我希望有人能告诉我我做错了什么......

例如,

当我对下面的有效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 +"')]");

                        }

0 个答案:

没有答案