2017-06-05 43 views
-1

我試圖從Google API(YT)獲取信息。我需要從Google的API中獲取videoId。無法從C#上的JSON獲取良好信息

因此,我下載了JSON頁面,試圖反序列化我的結果,但他不工作。

這是JSON結果

{ 
    "kind": "youtube#playlistItemListResponse", 
    "etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/E6IhaTG5XEbqo_uSYhCcIvQhtwY\"", 
    "nextPageToken": "CDIQAA", 
    "pageInfo": { 
    "totalResults": 180, 
    "resultsPerPage": 50 
    }, 
    "items": [ 
    { 
    "kind": "youtube#playlistItem", 
    "etag": "\"m2yskBQFythfE4irbTIeOgYYfBU/0cAZGJiF62yaNO7GwJlJBsc7DqY\"", 
    "id": "UExNQzlLTmtJbmNLdFB6Z1ktNXJtaHZqN2ZheDhmZHhvai41RDlFNzlCQjE5NzcyQTYx", 
    "snippet": { 
    "publishedAt": "2016-05-19T13:47:40.000Z", 
    "channelId": "UCs72iRpTEuwV3y6pdWYLgiw", 
    "title": "Katy Perry - Dark Horse (Official) ft. Juicy J", 
    "description": "Bla bla bla", 
    }, 
    "channelTitle": "#RedMusic: Just Hits", 
    "playlistId": "PLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj", 
    "position": 0, 
    "resourceId": { 
    "kind": "youtube#video", 
    "videoId": "0KSOMA3QBU0" 
    } 
    } 
    }, 

這是我採取的VideoID的

JObject jObj = (JObject)JsonConvert.DeserializeObject(x.Result); 
foreach (var item in jObj["items"]) 
{ 
    string title = item["videoId"].ToString(); 
} 

代碼當我開始我的應用我有System.NullReferenceException錯誤。

我的問題在哪裏?

感謝

+0

請檢查您的JSON示例 - 我懷疑你沒有正確複製並粘貼它,因爲後面有一個怪異的逗號「 – mjwills

回答

0

變化:

string title = item["videoId"].ToString();

到:

string title = item["resourceId"]["videoId"].ToString();

+0

我試過了,得到了同樣的問題,但是謝謝你的回答 –

+0

如果你有這段代碼,這三行代碼有錯誤?var g = item [「resourceId」]; var h = g [「videoId」]; string title = h.ToString();' – mjwills

+0

string title = h.ToString(); got the錯誤看這個[鏈接](http://i.imgur.com/ArK4ODY.png) –

0
JObject jObj = (JObject)JsonConvert.DeserializeObject(json); 
foreach (var item in jObj["items"]) 
{ 
    string title = item["resourceId"]["videoId"].ToString(); 
} 

你缺少[ 「RESOURCEID」。

+0

我試過了,得到了同樣的問題,但是謝謝你的回答 –

+0

在你的截圖中仍然缺少'[「resourceId」]'。 –

+0

是的,但也測試過,不起作用 –

0

好,我找到了解決辦法,我在VAR摹已經添加的下一個項目

var g = item["snippet"]["resourceId"]; 

如果我不把好「路徑」它不工作。 所以現在它工作,我有視頻鏈接。

謝謝大家的幫助!

+0

如果這樣,您在問題中顯示的示例JSON不正確。 resourceId不是您原始問題中的代碼片段。 – mjwills