2017-06-27 18 views
0

VSTS APIを使用してワークアイテムのリストを取得していて、それらをWebアプリケーションに表示したいとします。チームサービスAPIの作業項目のRegex

{"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; 

    } 

これは、しかし何かを返すように拒否し、私は空にworkItemsToDisplayを表示するテキストボックスを残しています。私は正規表現に精通していないので、これは問題がどこから生じるのか確信しています。 Microsoftが既に応答から作業項目の表示を構成するサンプルコードを持っているかどうかは不明です。

+0

これはJSONです。 JSONパーサーを使用します。 –

答えて

0

正規表現を使用しないでください。それはJSONです。JSON解析ライブラリ(JSON.Netは.NETの世界で事実上の標準です)を使用して、特定のフィールドを簡単に取得できます。

+0

JSON文字列の対応するクラスを作成する際に問題が発生しました。たとえば、System.IDプロパティに '。'があるため、宣言できません。キャラクター。 –

+0

JSON .NETの使い方を示すGoogleのリソースがたくさんあるはずです。 「正規表現を使用してJSONを解析するにはどうすればよいですか? 「JSON解析ツールを使用しないでください。」 –

関連する問題