2017-10-17 103 views
-2

我反序列化JSON閱讀Json的內容和顯示它

{ 「topalbums」:{ 「專輯」:[ { 「名」: 「貧民窟的百萬富翁」, 「playcount」:1442872 , 「URL」: 「https://www.last.fm/music/A.R.+Rahman/Slumdog+Millionaire」, 「藝術家」:{ 「名」: 「AR拉赫曼」, 「MBID」: 「e0bba708-bdd3-478d-84ea-c706413bedab」, 「URL」:」 https://www.last.fm/music/A.R.+Rahman 「 }, 」image「:[ { 「#text」: 「https://lastfm-img2.akamaized.net/i/u/34s/14c3f3bc7834415db7765563177e4bf6.png」, 「大小」: 「小」 },{ 「#text」: 「https://lastfm-img2.akamaized.net/i/u/64s/14c3f3bc7834415db7765563177e4bf6.png」, 「大小」: 「介質」 },{ 「#text 「:」 https://lastfm-img2.akamaized.net/i/u/174s/14c3f3bc7834415db7765563177e4bf6.png 「 」大小「: 」大「 },{ 」#text「:」 https://lastfm-img2.akamaized.net/i/u/300x300/14c3f3bc7834415db7765563177e4bf6.png」, 「大小」: 「海」 } ] } ] } }

string artist = txtMusic.Text; 
var requestUrl = "http://ws.audioscrobbler.com/2.0/?method=artist.gettopalbums&artist=" + artist + "&api_key=&format=json"; 

var client = new WebClient(); 
client.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"); 

var response = client.DownloadString(requestUrl); 

Response.Write(response); 
dynamic stuff = JObject.Parse(response); 
string name = stuff.album.name; 
lblInfo.InnerText = name; 

我無法弄清楚如何正確讀取它們。

+0

你得到的錯誤是什麼? –

+2

請格式化它可讀,然後我再讀一遍,也許你會得到一些幫助。 – LenglBoy

+0

System.Core.dll中發生類型爲'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException'的異常,但未在用戶代碼中處理 附加信息:綁定時無法對空引用 –

回答

1

albums的節點是一個數組,因此您必須訪問一個位置,0獲取第一個相冊。在你的例子中,無論如何只有一張專輯...

string name = stuff.topalbums.album[0].name.ToString();