团队服务中工作项的正则表达式 API

Regex For Work Items in Team Services API

我正在使用 VSTS API 检索工作项列表,并希望在我的 Web 应用程序中显示它们。我可以成功 return 以下格式的工作项列表:

{"count":1,"value":[{"id":246,"rev":4,"fields":{"System.Id" :246,"System.State":"New","System.Title":"test1"},"url":"https://example.visualstudio.com/_apis/wit/workItems/246"}]}

我尝试使用正则表达式从这个 HTTP 响应中获取值,代码如下:

HttpResponseMessage getWorkItemsHttpResponse = client.GetAsync("_apis/wit/workitems?ids=" + ids + "&fields=System.Id,System.Title,System.State&asOf=" + workItemQueryResult.asOf + "&api-version=2.2").Result;

                    if (getWorkItemsHttpResponse.IsSuccessStatusCode)
                    {
                        result = getWorkItemsHttpResponse.Content.ReadAsStringAsync().Result;

                        // Regular expression to extract work item values to display    
                        string parseWI = result.ToString();
                        var match = Regex.Match(parseWI, "\"System.ID\": (.*)");
                        workItemsToDisplay = (match.Groups[1].Value);


                    }
                }
            }
        }
        return workItemsToDisplay;

    }

尽管如此,这拒绝 return 任何操作,并使我显示 workItemsToDisplay 的文本框为空。我不熟悉正则表达式,我确定这就是问题的根源。不确定 Microsoft 是否已经有示例代码来根据响应构造工作项的显示。

不要使用正则表达式。那就是 JSON,使用 JSON 解析库(JSON.Net 是 .NET 世界的事实标准),然后您可以轻松检索特定字段。