2014-12-10 5 views
0

나는 텍스트 상자에 검색 코드를 다음 구문 분석 할 수있는 방법 :구문 분석 JSON 결과

{ "항목"[ { "미리보기": { "채널 ID": "UCcTbyoZjhqoCn4yVawpMFDA는" "제목": "영원히 - 스트라토 바리우스" "카테고리 ID": "10" }, "통계": { "조회수": "6180411", "likeCount": "19060", "dislikeCount" "342", "favoriteCount": "0", "commentCount": "3025" } } ] } GET 값 제목과 likeCount에 대한

내 코드 :

 Dim url As String = "https://www.googleapis.com/youtube/v3/videos?id=8BvV9arABLs&key=KEYAPI&fields=items(id,snippet(channelId,title,categoryId),statistics)&part=snippet,statistics" 
      Dim json As String = New WebClient().DownloadString(url) 
      Dim root As JToken = JToken.Parse(json) 
      Dim sb As New StringBuilder() 

      For Each item As JToken In root("items") 
      textbox1.text=sb.AppendLine(item.SelectToken("title") & sb.AppendLine(item.SelectToken("likeCount")) 
      Next 

답변

0

먼저 게시하기 전에 마크 업 된 데이터를 JSON처럼 포맷하는 것이 좋습니다. 이처럼

는 :

{ 
    "items" : [{ 
      "snippet" : { 
       "channelId" : "UCcTbyoZjhqoCn4yVawpMFDA", 
       "title" : "Forever - Stratovarius", 
       "categoryId" : "10" 
      }, 
      "statistics" : { 
       "viewCount" : "6180411", 
       "likeCount" : "19060", 
       "dislikeCount" : "342", 
       "favoriteCount" : "0", 
       "commentCount" : "3025" 
      } 
     } 
    ] 
} 

@rufanov는 JSON 직렬화 패키지 LOF가 말했듯이.

저는 Newtonsoft JSON을 사용합니다. 나는 C#에서 그것을 사용하고 그것에 예제를 쓸 것이지만, 나는 그것이 VB.NET에서 동일하거나 유사해야한다고 강력히 믿는다. JSON 개체 용 클래스를 만듭니다. 주의 : 멤버는 JSON 객체의 이름이어야합니다.

public class JItemArray 
{ 
    public JItem[] items; 
} 

public class JItem 
{ 
    public JSnippet snippet; 
    public JStatistics statistics; 
} 

public class JSnippet 
{ 
    public string channelId; 
    public string title; 
    public string categoryId; 
} 

public class JStatistics 
{ 
    public string viewCount; 
    public string likeCount; 
    public string dislikeCount; 
    public string favoriteCount; 
    public string commentCount; 
} 

그런 다음, 당신이 뭔가에 실패 할 경우

JItemArray itemArray = JsonConvert.DeserializeObject<JItemArray>(yourJsonString); 

그것은 (메시지의 설명과 함께) JsonReaderException가 발생합니다 할 수있을 것입니다. 그렇지 않으면 필요한 모든 구문 분석 된 데이터가있는 적절한 JItem .NET 객체를 반환합니다.

여기 NuGet 웹 사이트에 있습니다. https://www.nuget.org/packages/Newtonsoft.Json/

그러나이 두 값만 필요할 경우 JToken을 사용하는 것이 좋습니다.